{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/pawls-pdf-annotation-with-labels-and","title":"PAWLS: PDF Annotation With Labels and Structure","arxiv_id":"2101.10281","date":"2021-01-25","proceeding":"ACL 2021 5","authors":["Mark Neumann","Zejiang Shen","Sam Skjonsberg"],"abstract":"Adobe's Portable Document Format (PDF) is a popular way of distributing view-only documents with a rich visual markup. This presents a challenge to NLP practitioners who wish to use the information contained within PDF documents for training models or data analysis, because annotating these documents is difficult. In this paper, we present PDF Annotation with Labels and Structure (PAWLS), a new annotation tool designed specifically for the PDF document format. PAWLS is particularly suited for mixed-mode annotation and scenarios in which annotators require extended context to annotate accurately. PAWLS supports span-based textual annotation, N-ary relations and freeform, non-textual bounding boxes, all of which can be exported in convenient formats for training multi-modal machine learning models. A read-only PAWLS server is available at https://pawls.apps.allenai.org/ and the source code is available at https://github.com/allenai/pawls.","url_abs":"https://arxiv.org/abs/2101.10281v1","url_pdf":"https://arxiv.org/pdf/2101.10281v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"pawls-pdf-annotation-with-labels-and","repo_url":"https://github.com/allenai/pawls","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2101.10281","atlas_url":"https://app.syntology.ai/?focus=2101.10281","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2101.10281"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/allenai/pawls","reach":null}],"summary":{"ran":5},"by_repo_kind":{"official":{"samples":5,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"cf44d123a4b4bcc2","entry":"Block","repo":"allenai/pawls","repo_kind":"official","path":"cli/pawls/preprocessors/model.py","file_url":"https://github.com/allenai/pawls/blob/HEAD/cli/pawls/preprocessors/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cf44d123a4b4bcc2"}},{"code_sha256_prefix":"595628d32efbc693","entry":"Box","repo":"allenai/pawls","repo_kind":"official","path":"cli/pawls/preprocessors/model.py","file_url":"https://github.com/allenai/pawls/blob/HEAD/cli/pawls/preprocessors/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"595628d32efbc693"}},{"code_sha256_prefix":"1fcb83c718443f82","entry":"Page","repo":"allenai/pawls","repo_kind":"official","path":"cli/pawls/preprocessors/model.py","file_url":"https://github.com/allenai/pawls/blob/HEAD/cli/pawls/preprocessors/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1fcb83c718443f82"}},{"code_sha256_prefix":"197dbed6d649650c","entry":"PageInfo","repo":"allenai/pawls","repo_kind":"official","path":"cli/pawls/preprocessors/model.py","file_url":"https://github.com/allenai/pawls/blob/HEAD/cli/pawls/preprocessors/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"197dbed6d649650c"}},{"code_sha256_prefix":"15f4a4e9d4595e6f","entry":"Token","repo":"allenai/pawls","repo_kind":"official","path":"cli/pawls/preprocessors/model.py","file_url":"https://github.com/allenai/pawls/blob/HEAD/cli/pawls/preprocessors/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"15f4a4e9d4595e6f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}