{
    "document_id": 12554,
    "filename": "6822.pdf",
    "engine": "paddleocr_vl",
    "source_run_id": 12665,
    "generated_at": "2026-11-02T20:07:20+00:00",
    "page_count": 2,
    "counts_by_type": {
        "figure": 6,
        "form_field": 1,
        "heading": 2,
        "text": 32,
        "title": 1
    },
    "timings": {
        "total_ms": 1264,
        "structure_ms": 939,
        "text_layer_ms": 13,
        "build_ms": 4
    },
    "pages": [
        {
            "document_id": 12554,
            "page": 1,
            "width": 612,
            "height": 1008,
            "rotation": 0,
            "pipeline_version": "paddleocr-vl-1.6+paul-48",
            "width_pt": 612,
            "height_pt": 1008,
            "engine": "paddleocr_vl",
            "source_run_id": 12665,
            "item_count": 41,
            "counts_by_type": {
                "figure": 6,
                "form_field": 1,
                "heading": 2,
                "text": 31,
                "title": 1
            },
            "build_ms": 4,
            "items": [
                {
                    "id": "p1.1",
                    "order": 1,
                    "type": "text",
                    "bbox": {
                        "l": 3.84,
                        "t": 971.52,
                        "r": 21.12,
                        "b": 87.12
                    },
                    "text": "□ □ □ □",
                    "attrs": {
                        "block_label": "aside_text"
                    },
                    "reading_order": 0
                },
                {
                    "id": "p1.2",
                    "order": 2,
                    "type": "figure",
                    "bbox": {
                        "l": 39.6,
                        "t": 951.12,
                        "r": 102.96,
                        "b": 927.36
                    },
                    "text": "",
                    "attrs": {
                        "block_label": "image"
                    },
                    "reading_order": 1
                },
                {
                    "id": "p1.3",
                    "order": 3,
                    "type": "text",
                    "bbox": {
                        "l": 37.2,
                        "t": 928.8,
                        "r": 104.64,
                        "b": 918
                    },
                    "text": "Precinct Official's Initials",
                    "reading_order": 2
                },
                {
                    "id": "p1.4",
                    "order": 4,
                    "type": "heading",
                    "bbox": {
                        "l": 24.48,
                        "t": 863.28,
                        "r": 162.72,
                        "b": 848.64
                    },
                    "text": "INSTRUCTIONS TO VOTERS",
                    "attrs": {
                        "block_label": "paragraph_title"
                    },
                    "level": 3,
                    "reading_order": 3
                },
                {
                    "id": "p1.5",
                    "order": 5,
                    "type": "text",
                    "bbox": {
                        "l": 24.24,
                        "t": 841.2,
                        "r": 202.8,
                        "b": 812.16
                    },
                    "text": "Using blue or black ink, completely fill in the oval next to your choice like this: 🌐",
                    "reading_order": 4
                },
                {
                    "id": "p1.6",
                    "order": 6,
                    "type": "text",
                    "bbox": {
                        "l": 24,
                        "t": 801.12,
                        "r": 196.56,
                        "b": 757.92
                    },
                    "text": "Write-in: To vote for a valid write-in candidate, write the person's name on the line provided and darken the oval.",
                    "reading_order": 5
                },
                {
                    "id": "p1.7",
                    "order": 7,
                    "type": "text",
                    "bbox": {
                        "l": 24.48,
                        "t": 747.12,
                        "r": 205.2,
                        "b": 678
                    },
                    "text": "Notice to voters: To vote to approve any question on this ballot, fill in the oval in front of the word \"Yes\". To vote against a question, fill in the oval in front of the word \"No\".",
                    "reading_order": 6
                },
                {
                    "id": "p1.8",
                    "order": 8,
                    "type": "text",
                    "bbox": {
                        "l": 24,
                        "t": 666.72,
                        "r": 190.8,
                        "b": 625.44
                    },
                    "text": "Do not cross out. If you change your mind, exchange your ballot for a new one.",
                    "reading_order": 7
                },
                {
                    "id": "p1.9",
                    "order": 9,
                    "type": "text",
                    "bbox": {
                        "l": 24.48,
                        "t": 602.16,
                        "r": 100.56,
                        "b": 586.32
                    },
                    "text": "City of Bankston",
                    "reading_order": 8
                },
                {
                    "id": "p1.10",
                    "order": 10,
                    "type": "text",
                    "bbox": {
                        "l": 23.76,
                        "t": 575.52,
                        "r": 76.08,
                        "b": 561.6
                    },
                    "text": "For Mayor",
                    "reading_order": 9
                },
                {
                    "id": "p1.11",
                    "order": 11,
                    "type": "text",
                    "bbox": {
                        "l": 43.68,
                        "t": 515.76,
                        "r": 127.2,
                        "b": 503.76
                    },
                    "text": "(Write-in vote, if any)",
                    "reading_order": 10
                },
                {
                    "id": "p1.12",
                    "order": 12,
                    "type": "text",
                    "bbox": {
                        "l": 24.24,
                        "t": 502.32,
                        "r": 104.16,
                        "b": 490.08
                    },
                    "text": "For City Council",
                    "reading_order": 11
                },
                {
                    "id": "p1.13",
                    "order": 13,
                    "type": "text",
                    "bbox": {
                        "l": 23.04,
                        "t": 497.04,
                        "r": 120.96,
                        "b": 476.4
                    },
                    "text": "At-Large",
                    "reading_order": 12
                },
                {
                    "id": "p1.14",
                    "order": 14,
                    "type": "text",
                    "bbox": {
                        "l": 24.48,
                        "t": 463.2,
                        "r": 153.6,
                        "b": 436.32
                    },
                    "text": "Vote for no more than Three",
                    "reading_order": 13
                },
                {
                    "id": "p1.15",
                    "order": 15,
                    "type": "text",
                    "bbox": {
                        "l": 41.76,
                        "t": 426.48,
                        "r": 126,
                        "b": 404.64
                    },
                    "text": "(Write-in vote, if any)",
                    "reading_order": 14
                },
                {
                    "id": "p1.16",
                    "order": 16,
                    "type": "text",
                    "bbox": {
                        "l": 24.96,
                        "t": 377.52,
                        "r": 41.04,
                        "b": 364.32
                    },
                    "text": "○\n(Write-in vote, if any)",
                    "reading_order": 15
                },
                {
                    "id": "p1.17",
                    "order": 17,
                    "type": "text",
                    "bbox": {
                        "l": 43.2,
                        "t": 390.24,
                        "r": 126.24,
                        "b": 377.28
                    },
                    "text": "(Write-in vote, if any)",
                    "reading_order": 16
                },
                {
                    "id": "p1.18",
                    "order": 18,
                    "type": "text",
                    "bbox": {
                        "l": 42.72,
                        "t": 354.72,
                        "r": 126,
                        "b": 341.04
                    },
                    "text": "(Write-in vote, if any)",
                    "reading_order": 17
                },
                {
                    "id": "p1.19",
                    "order": 19,
                    "type": "text",
                    "bbox": {
                        "l": 217.44,
                        "t": 967.68,
                        "r": 398.16,
                        "b": 898.08
                    },
                    "text": "OFFICIAL BALLOT\nCity / School Election\nDubuque County, Iowa\nTuesday, November 7, 2023",
                    "reading_order": 18
                },
                {
                    "id": "p1.20",
                    "order": 20,
                    "type": "heading",
                    "bbox": {
                        "l": 293.04,
                        "t": 895.68,
                        "r": 320.88,
                        "b": 875.04
                    },
                    "text": "23",
                    "attrs": {
                        "block_label": "paragraph_title"
                    },
                    "level": 3,
                    "reading_order": 19
                },
                {
                    "id": "p1.21",
                    "order": 21,
                    "type": "text",
                    "bbox": {
                        "l": 215.52,
                        "t": 861.36,
                        "r": 388.8,
                        "b": 831.84
                    },
                    "text": "Western Dubuque County Community School District",
                    "reading_order": 20
                },
                {
                    "id": "p1.22",
                    "order": 22,
                    "type": "text",
                    "bbox": {
                        "l": 214.8,
                        "t": 827.76,
                        "r": 309.12,
                        "b": 799.2
                    },
                    "text": "For Board Member\nDistrict Two\nVote for no more than One\nJessica Pape",
                    "reading_order": 21
                },
                {
                    "id": "p1.23",
                    "order": 23,
                    "type": "text",
                    "bbox": {
                        "l": 215.76,
                        "t": 787.44,
                        "r": 339.12,
                        "b": 760.56
                    },
                    "text": "Vote for no more than One\nJessica Pape",
                    "reading_order": 22
                },
                {
                    "id": "p1.24",
                    "order": 24,
                    "type": "figure",
                    "bbox": {
                        "l": 216.72,
                        "t": 756.72,
                        "r": 234,
                        "b": 742.32
                    },
                    "text": "",
                    "attrs": {
                        "block_label": "image"
                    },
                    "reading_order": 23
                },
                {
                    "id": "p1.25",
                    "order": 25,
                    "type": "text",
                    "bbox": {
                        "l": 235.68,
                        "t": 732.72,
                        "r": 317.52,
                        "b": 719.52
                    },
                    "text": "(Write-in vote, if any)",
                    "reading_order": 24
                },
                {
                    "id": "p1.26",
                    "order": 26,
                    "type": "text",
                    "bbox": {
                        "l": 215.28,
                        "t": 719.04,
                        "r": 308.4,
                        "b": 691.44
                    },
                    "text": "For Board Member District Four",
                    "reading_order": 25
                },
                {
                    "id": "p1.27",
                    "order": 27,
                    "type": "text",
                    "bbox": {
                        "l": 215.28,
                        "t": 679.2,
                        "r": 339.36,
                        "b": 635.52
                    },
                    "text": "Vote for no more than One\n○ Jody Willging\n○",
                    "children": [
                        {
                            "id": "p1.27.1",
                            "order": 28,
                            "type": "form_field",
                            "bbox": {
                                "l": 215.28,
                                "t": 664.64,
                                "r": 227.28,
                                "b": 652.64
                            },
                            "text": "",
                            "attrs": {
                                "field_kind": "radio",
                                "label": "Jody Willging",
                                "source": "glyph_estimate",
                                "bbox_estimated": true,
                                "label_source": "parent_text",
                                "label_ref": "p1.28",
                                "text_offset": 26,
                                "text_span": 1
                            },
                            "reading_order": 0
                        }
                    ],
                    "reading_order": 26
                },
                {
                    "id": "p1.28",
                    "order": 29,
                    "type": "text",
                    "bbox": {
                        "l": 235.44,
                        "t": 624.48,
                        "r": 318.24,
                        "b": 611.52
                    },
                    "text": "(Write-in vote, if any)",
                    "reading_order": 27
                },
                {
                    "id": "p1.29",
                    "order": 30,
                    "type": "text",
                    "bbox": {
                        "l": 215.28,
                        "t": 611.04,
                        "r": 308.16,
                        "b": 584.4
                    },
                    "text": "For Board Member District Five",
                    "reading_order": 28
                },
                {
                    "id": "p1.30",
                    "order": 31,
                    "type": "text",
                    "bbox": {
                        "l": 214.56,
                        "t": 571.68,
                        "r": 338.4,
                        "b": 544.8
                    },
                    "text": "Vote for no more than One\nAmanda Schlemme",
                    "reading_order": 29
                },
                {
                    "id": "p1.31",
                    "order": 32,
                    "type": "text",
                    "bbox": {
                        "l": 216,
                        "t": 540.96,
                        "r": 306,
                        "b": 526.08
                    },
                    "text": "Kari Krogman",
                    "reading_order": 30
                },
                {
                    "id": "p1.32",
                    "order": 33,
                    "type": "figure",
                    "bbox": {
                        "l": 216.48,
                        "t": 522.96,
                        "r": 233.76,
                        "b": 507.84
                    },
                    "text": "",
                    "attrs": {
                        "block_label": "image"
                    },
                    "reading_order": 31
                },
                {
                    "id": "p1.33",
                    "order": 34,
                    "type": "text",
                    "bbox": {
                        "l": 235.92,
                        "t": 498.96,
                        "r": 318,
                        "b": 485.04
                    },
                    "text": "(Write-in vote, if any)",
                    "reading_order": 32
                },
                {
                    "id": "p1.34",
                    "order": 35,
                    "type": "text",
                    "bbox": {
                        "l": 216.24,
                        "t": 475.92,
                        "r": 378,
                        "b": 460.08
                    },
                    "text": "Northeast Iowa Community College",
                    "reading_order": 33
                },
                {
                    "id": "p1.35",
                    "order": 36,
                    "type": "text",
                    "bbox": {
                        "l": 215.04,
                        "t": 448.8,
                        "r": 325.68,
                        "b": 407.52
                    },
                    "text": "For Board of Directors\nDistrict Four\nTo Fill A Vacancy",
                    "reading_order": 34
                },
                {
                    "id": "p1.36",
                    "order": 37,
                    "type": "text",
                    "bbox": {
                        "l": 234.96,
                        "t": 354.72,
                        "r": 318,
                        "b": 341.04
                    },
                    "text": "(Write-in vote, if any)",
                    "reading_order": 35
                },
                {
                    "id": "p1.37",
                    "order": 38,
                    "type": "figure",
                    "bbox": {
                        "l": 463.2,
                        "t": 963.6,
                        "r": 547.92,
                        "b": 880.56
                    },
                    "text": "",
                    "attrs": {
                        "block_label": "image"
                    },
                    "reading_order": 36
                },
                {
                    "id": "p1.38",
                    "order": 39,
                    "type": "figure",
                    "bbox": {
                        "l": 455.52,
                        "t": 788.88,
                        "r": 568.08,
                        "b": 661.44
                    },
                    "text": "",
                    "attrs": {
                        "block_label": "image",
                        "embedded_text": "T"
                    },
                    "reading_order": 37
                },
                {
                    "id": "p1.39",
                    "order": 40,
                    "type": "title",
                    "bbox": {
                        "l": 590.64,
                        "t": 1002.96,
                        "r": 609.6,
                        "b": 25.68
                    },
                    "text": "□ □ □ □",
                    "attrs": {
                        "block_label": "aside_text"
                    },
                    "level": 2,
                    "reading_order": 38
                },
                {
                    "id": "p1.40",
                    "order": 41,
                    "type": "figure",
                    "bbox": {
                        "l": 174.6002,
                        "t": 48.6122,
                        "r": 480.5987,
                        "b": 0
                    },
                    "text": "",
                    "attrs": {
                        "source": "pdf_image"
                    },
                    "reading_order": 39
                }
            ]
        },
        {
            "document_id": 12554,
            "page": 2,
            "width": 612,
            "height": 1008,
            "rotation": 0,
            "pipeline_version": "paddleocr-vl-1.6+paul-48",
            "width_pt": 612,
            "height_pt": 1008,
            "engine": "paddleocr_vl",
            "source_run_id": 12665,
            "item_count": 1,
            "counts_by_type": {
                "text": 1
            },
            "build_ms": 0,
            "items": [
                {
                    "id": "p2.1",
                    "order": 1,
                    "type": "text",
                    "bbox": {
                        "l": 3.12,
                        "t": 1008,
                        "r": 608.4,
                        "b": 14.88
                    },
                    "text": "SAMPLE BALLOT",
                    "attrs": {
                        "block_label": "content"
                    },
                    "reading_order": 0
                }
            ]
        }
    ]
}