{"id":22514672,"url":"https://github.com/cityssm/pdfflattener","last_synced_at":"2025-06-26T12:31:37.138Z","repository":{"id":103175269,"uuid":"161655157","full_name":"cityssm/pdfFlattener","owner":"cityssm","description":"PDF Flattener - Secure PDF documents by making floating redactions and form entries permanent.","archived":false,"fork":false,"pushed_at":"2024-11-18T14:26:21.000Z","size":28674,"stargazers_count":11,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-14T20:41:14.456Z","etag":null,"topics":["flatten","java","pdf","pdf-flattener","pdf-forms","pdfbox","redaction","security"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cityssm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-12-13T15:04:35.000Z","updated_at":"2025-04-15T07:18:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3d89d16-66ae-4307-af10-cd90c147785b","html_url":"https://github.com/cityssm/pdfFlattener","commit_stats":{"total_commits":22,"total_committers":4,"mean_commits":5.5,"dds":0.2727272727272727,"last_synced_commit":"813ca10f966ea49255d7b84face3c6350d2e5262"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/cityssm/pdfFlattener","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2FpdfFlattener","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2FpdfFlattener/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2FpdfFlattener/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2FpdfFlattener/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cityssm","download_url":"https://codeload.github.com/cityssm/pdfFlattener/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2FpdfFlattener/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262067911,"owners_count":23253698,"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":["flatten","java","pdf","pdf-flattener","pdf-forms","pdfbox","redaction","security"],"created_at":"2024-12-07T03:20:11.702Z","updated_at":"2025-06-26T12:31:37.067Z","avatar_url":"https://github.com/cityssm.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PDF Flattener\n\nProperly redacting PDF files can be an expensive job.\nOftentimes, files are released with the impression that they are redacted because you can't *see* the redacted text.\nIn reality, those big black rectangles can be removed quite easily with the [right editor](https://inkscape.org/),\nleaving behind the confidential text that should have been removed.\n\nPreseving PDF form content can be a concern as well.  How can we be assured that form content is not altered after we receive it?\n\nWhen a PDF is flattened, the layered content, like those floating black rectangles and form fields, are all combined into a single image layer.\n\nThere are many high cost solutions to achieve this.\nIt can also be done with freely available PDF libraries.\nThis solution uses [Apache PDFBox](https://pdfbox.apache.org/), which is available under [the Apache License](https://www.apache.org/licenses/).\nThis project is licensed under the same license.\n\n## Libraries Used\n\nThis project, along with all the libraries it uses are licensed under [the Apache License](https://www.apache.org/licenses/).\n\n- [Apache PDFBox](https://pdfbox.apache.org/)\n- [Apache Commons Logging](https://commons.apache.org/proper/commons-logging/)\n\nFor convenience, these binaries are bundled into the main build.\n\n## Requirements\n\n- PDFBox requires at least Java 8 to run.  This project is compiled to work with Java 8 or better.\n- Memory.  Depending on the size of your PDF, it may take over 1 GB of memory to process it.\n\n## Usage\n\n[How to Redact in Adobe Acrobat Reader for Free](HOWTO.md)\n\nCheck the Releases for an executable JAR file.  Note that the executable JAR makes use of Java's `JFileChooser` class, so a GUI is required.\n\nAlternatively, you can include the JAR file in your project, and call the static `flattenPDF(File src, File dest)` method.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcityssm%2Fpdfflattener","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcityssm%2Fpdfflattener","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcityssm%2Fpdfflattener/lists"}