{"id":20347791,"url":"https://github.com/itext/pdfcop","last_synced_at":"2025-04-12T01:03:08.751Z","repository":{"id":84629930,"uuid":"590837179","full_name":"itext/pdfcop","owner":"itext","description":"An interpretation of the content stream structure as described by ISO 32000","archived":false,"fork":false,"pushed_at":"2023-01-31T14:56:16.000Z","size":2995,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-12T01:02:57.745Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itext.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2023-01-19T10:30:20.000Z","updated_at":"2023-05-03T06:37:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"7a624d30-0032-43c3-bfc1-212d6e376937","html_url":"https://github.com/itext/pdfcop","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/itext%2Fpdfcop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itext%2Fpdfcop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itext%2Fpdfcop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itext%2Fpdfcop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itext","download_url":"https://codeload.github.com/itext/pdfcop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248501867,"owners_count":21114683,"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-11-14T22:18:07.570Z","updated_at":"2025-04-12T01:03:08.731Z","avatar_url":"https://github.com/itext.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pdfCop\n\n## Summary\n\npdfCop is a compiled/to-be-compiled Java project based on an ANTLR4 grammar file that describes how Content Streams are structured as per the PDF specification. pdfCop can tell you whether a content stream, a PDF file, or a snippet follows the specification or not and it will let you know where the provided syntax did go wrong.\n\n## Building\n\nThis project is built using maven. After cloning, run the following command:\n\n```bash\nmvn package\n```\n\nAfter a successful build, your target folder should contain a `pdfCop-x.y.z.jar` which you can then use in your projects!\n\nYou can also use `mvn install` so that the artifact is automatically installed into your local maven repository!\n\n\n## Usage\n\nAdd the pdfCop dependency to your project and you can start using the tool as a high level tool:\n\n```java\nnew PdfCop().isDocumentFollowingTheRules(inputPdf)\n```\n\n`inputPdf` is a path to your input PDF file. It will return a boolean letting you know whether the provided document's content streams follow the specification or not.\n\nYou can also access the specific objects and their children through the generated API. Feel free to check some of the tests to look for more exhaustive examples. This is an area where we can add more convenience for the user.\n\n\n## Troubleshooting\n\nSome versions of IntelliJ IDEA might not be able to find the generated sources after a build. To remediate this, right-click on the root in the Project View, open the `Maven` submenu and click `Generate Sources and Update Folders`\n\n\n## Disclaimer\n\nThis is an experimental tool, not an iText product. It is provided to the\ncommunity under the terms of the AGPL (see [LICENSE](LICENSE.md)) on an as-is\nbasis.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitext%2Fpdfcop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitext%2Fpdfcop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitext%2Fpdfcop/lists"}