{"id":16100143,"url":"https://github.com/nymann/pdf-scrub","last_synced_at":"2025-04-05T23:40:23.659Z","repository":{"id":58032139,"uuid":"529654441","full_name":"nymann/pdf-scrub","owner":"nymann","description":null,"archived":false,"fork":false,"pushed_at":"2022-08-28T14:17:38.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T21:06:49.878Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nymann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-27T17:36:38.000Z","updated_at":"2022-08-27T23:51:34.000Z","dependencies_parsed_at":"2023-01-16T19:15:14.925Z","dependency_job_id":null,"html_url":"https://github.com/nymann/pdf-scrub","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nymann%2Fpdf-scrub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nymann%2Fpdf-scrub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nymann%2Fpdf-scrub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nymann%2Fpdf-scrub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nymann","download_url":"https://codeload.github.com/nymann/pdf-scrub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415930,"owners_count":20935384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-09T18:45:19.094Z","updated_at":"2025-04-05T23:40:23.636Z","avatar_url":"https://github.com/nymann.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PDF Scrub\n\n_Scrubs encrypted compressed PDF files for text watermarks and metadata._\n\n1. Decrypts the PDF if it's encrypted\n2. Uncompresses the PDF\n3. Removes metadata (Xpacket)\n4. Tries to naively remove text based watermarks by matching objects which number of occurrences, is the same as the PDF page count. If multiple objects match, produce a pdf for each.\n5. Optionally compresses the PDF again if `--no-compress` is not given as a command line argument.\n\n## Usage\n\n```sh\n$ pdf_scrub --help\nUsage: pdf_scrub [OPTIONS] FILES...\n\nArguments:\n  FILES...  [required]\n\nOptions:\n  --compress / --no-compress      Compress the final pdf to reduce file size greatly  [default: compress]\n```\n\n## Dependencies\n\nRequires `qpdf` and `pdftk`.\n\n## Development\n\nFor help getting started developing check [DEVELOPMENT.md](DEVELOPMENT.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnymann%2Fpdf-scrub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnymann%2Fpdf-scrub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnymann%2Fpdf-scrub/lists"}