test(classifier): add 200-document labeled corpus for Phase 5.6
- Create tests/fixtures/classifier/ with 200 synthetic PDFs:
- 50 invoices with bill-to/ship-to, item tables, totals
- 50 scientific papers with abstracts, sections, references
- 50 contracts with clauses, legal terminology, signatures
- 50 misc documents (8 receipts, 8 forms, 7 bank statements,
7 slide decks, 7 legal filings, 6 book excerpts, 7 magazines)
- Add MANIFEST.tsv mapping each document to its expected type
with source URL and license (all MIT-0 synthetic data)
- Add scripts/generate_test_corpus.py to regenerate the corpus
using reportlab for PDF generation
- Add tests/test_classifier_corpus.rs with validation harness:
- test_corpus_manifest_validity: verifies manifest structure
and file existence (PASSES)
- test_classifier_corpus_accuracy: will validate precision/
recall/F1 when classifier is implemented (SKIP for now)
- test_classifier_reproducibility: will verify deterministic
classification (SKIP for now)
- Add tests/fixtures/classifier/README.md documenting corpus
structure, generation process, and acceptance criteria
Total corpus size: ~0.4 MB (each PDF < 5 KB)
Acceptance criteria (from plan.md Phase 5.6):
- Per-class precision and recall >= 0.85
- Macro-F1 >= 0.88
- Reproducibility: identical output for same document
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
1747812323
commit
633eba61b1
213 changed files with 17247 additions and 0 deletions
7
Cargo.lock
generated
Normal file
7
Cargo.lock
generated
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 4
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pdftract"
|
||||||
|
version = "0.1.0"
|
||||||
15
Cargo.toml
Normal file
15
Cargo.toml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
[package]
|
||||||
|
name = "pdftract"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
description = "A PDF text extraction library that gets the hard parts right"
|
||||||
|
license = "MIT"
|
||||||
|
repository = "https://github.com/jedarden/pdftract"
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
name = "pdftract"
|
||||||
|
path = "src/lib.rs"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
690
scripts/generate_test_corpus.py
Normal file
690
scripts/generate_test_corpus.py
Normal file
|
|
@ -0,0 +1,690 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
Generate synthetic test PDFs for the classifier corpus.
|
||||||
|
|
||||||
|
Creates 200 PDFs (50 each of invoice, scientific_paper, contract, misc)
|
||||||
|
with appropriate content characteristics for each document type.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import random
|
||||||
|
from pathlib import Path
|
||||||
|
from reportlab.pdfgen import canvas
|
||||||
|
from reportlab.lib.pagesizes import letter, A4
|
||||||
|
from reportlab.lib.units import inch
|
||||||
|
from reportlab.pdfbase import pdfmetrics
|
||||||
|
from reportlab.pdfbase.ttfonts import TTFont
|
||||||
|
|
||||||
|
# Ensure output directory exists
|
||||||
|
OUTPUT_DIR = Path("tests/fixtures/classifier")
|
||||||
|
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
# Document type configurations
|
||||||
|
DOC_TYPES = {
|
||||||
|
"invoice": {
|
||||||
|
"count": 50,
|
||||||
|
"keywords": ["INVOICE", "BILL TO", "SHIP TO", "TOTAL", "DUE DATE", "PO NUMBER", "QTY", "UNIT PRICE", "AMOUNT", "BALANCE DUE", "PAYMENT TERMS"],
|
||||||
|
"fontsizes": [16, 14, 12, 10, 9],
|
||||||
|
"structures": ["header", "table", "totals"]
|
||||||
|
},
|
||||||
|
"scientific_paper": {
|
||||||
|
"count": 50,
|
||||||
|
"keywords": ["ABSTRACT", "INTRODUCTION", "METHODS", "RESULTS", "DISCUSSION", "CONCLUSION", "REFERENCES", "FIGURE", "TABLE", "ACKNOWLEDGMENTS", "DOI", "arXiv"],
|
||||||
|
"fontsizes": [14, 12, 11, 10],
|
||||||
|
"structures": ["title", "abstract", "sections", "references"]
|
||||||
|
},
|
||||||
|
"contract": {
|
||||||
|
"count": 50,
|
||||||
|
"keywords": ["AGREEMENT", "PARTIES", "TERMS", "CONDITIONS", "SHALL", "WITNESS", "CLAUSE", "LIABILITY", "INDEMNIFICATION", "TERMINATION", "GOVERNING LAW", "SIGNATURE"],
|
||||||
|
"fontsizes": [12, 11, 10],
|
||||||
|
"structures": ["header", "clauses", "signatures"]
|
||||||
|
},
|
||||||
|
"misc": {
|
||||||
|
"count": 50,
|
||||||
|
"subtypes": {
|
||||||
|
"receipt": {"keywords": ["RECEIPT", "RECEIVED FROM", "AMOUNT", "DATE", "RECEIPT #"], "count": 8},
|
||||||
|
"form": {"keywords": ["FORM", "APPLICATION", "PLEASE COMPLETE", "SECTION", "SIGNATURE"], "count": 8},
|
||||||
|
"bank_statement": {"keywords": ["STATEMENT", "ACCOUNT", "BALANCE", "TRANSACTION", "DEPOSIT", "WITHDRAWAL"], "count": 7},
|
||||||
|
"slide_deck": {"keywords": ["Slide", "Presentation", "Agenda", "Summary", "Key Points"], "count": 7},
|
||||||
|
"legal_filing": {"keywords": ["COURT", "CASE NO", "PLAINTIFF", "DEFENDANT", "FILED", "CLERK"], "count": 7},
|
||||||
|
"book_excerpt": {"keywords": ["Chapter", "The", "And", "But", "However"], "count": 6},
|
||||||
|
"magazine": {"keywords": ["FEATURE", "ARTICLE", "ISSUE", "EDITORIAL", "SUBSCRIBE"], "count": 7}
|
||||||
|
},
|
||||||
|
"fontsizes": [12, 11, 10],
|
||||||
|
"structures": ["various"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def draw_header(c, doc_type, doc_num):
|
||||||
|
"""Draw a header section."""
|
||||||
|
c.setFont("Helvetica-Bold", 16)
|
||||||
|
|
||||||
|
if doc_type == "invoice":
|
||||||
|
c.drawString(1*inch, 10*inch, "INVOICE")
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawString(6*inch, 10*inch, f"Invoice #{doc_num:04d}")
|
||||||
|
c.drawString(6*inch, 9.7*inch, f"Date: 2024-{random.randint(1,12):02d}-{random.randint(1,28):02d}")
|
||||||
|
|
||||||
|
elif doc_type == "scientific_paper":
|
||||||
|
title = random.choice([
|
||||||
|
"A Novel Approach to Machine Learning",
|
||||||
|
"Analysis of Distributed Systems",
|
||||||
|
"Theoretical Frameworks in Quantum Computing",
|
||||||
|
"Empirical Studies in Natural Language Processing",
|
||||||
|
"Optimization Algorithms for Large-Scale Data"
|
||||||
|
])
|
||||||
|
c.drawCentredString(4.25*inch, 10*inch, title)
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawCentredString(4.25*inch, 9.6*inch, f"arXiv:{random.randint(1000,9999)}.{random.randint(10000,99999)}")
|
||||||
|
|
||||||
|
elif doc_type == "contract":
|
||||||
|
c.drawString(1*inch, 10*inch, "SERVICE AGREEMENT")
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawString(1*inch, 9.6*inch, f"Contract ID: CT-{doc_num:04d}")
|
||||||
|
|
||||||
|
elif doc_type == "misc":
|
||||||
|
# Handled by subtypes
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def draw_invoice_content(c, doc_num):
|
||||||
|
"""Draw invoice-specific content."""
|
||||||
|
y = 8.5*inch
|
||||||
|
c.setFont("Helvetica-Bold", 12)
|
||||||
|
c.drawString(1*inch, y, "BILL TO:")
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawString(1*inch, y-0.25*inch, "Acme Corporation")
|
||||||
|
c.drawString(1*inch, y-0.5*inch, "123 Business Street")
|
||||||
|
c.drawString(1*inch, y-0.75*inch, "City, State 12345")
|
||||||
|
|
||||||
|
c.setFont("Helvetica-Bold", 12)
|
||||||
|
c.drawString(5*inch, y, "SHIP TO:")
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawString(5*inch, y-0.25*inch, "Global Tech Inc")
|
||||||
|
c.drawString(5*inch, y-0.5*inch, "456 Enterprise Ave")
|
||||||
|
c.drawString(5*inch, y-0.75*inch, "Metroville, CA 90210")
|
||||||
|
|
||||||
|
# Table header
|
||||||
|
y = 6.5*inch
|
||||||
|
c.setFont("Helvetica-Bold", 10)
|
||||||
|
c.drawString(1*inch, y, "DESCRIPTION")
|
||||||
|
c.drawString(3.5*inch, y, "QTY")
|
||||||
|
c.drawString(4.5*inch, y, "UNIT PRICE")
|
||||||
|
c.drawString(6*inch, y, "AMOUNT")
|
||||||
|
|
||||||
|
c.line(1*inch, y-0.1*inch, 7.5*inch, y-0.1*inch)
|
||||||
|
|
||||||
|
# Table rows
|
||||||
|
c.setFont("Helvetica", 9)
|
||||||
|
items = [
|
||||||
|
("Professional Services", random.randint(10,100), random.randint(100,500)),
|
||||||
|
("Software License", random.randint(1,5), random.randint(500,5000)),
|
||||||
|
("Technical Support", random.randint(5,50), random.randint(75,200)),
|
||||||
|
("Consulting Hours", random.randint(20,80), random.randint(150,400))
|
||||||
|
]
|
||||||
|
|
||||||
|
y = 5.7*inch
|
||||||
|
total = 0
|
||||||
|
for desc, qty, price in items:
|
||||||
|
amount = qty * price
|
||||||
|
total += amount
|
||||||
|
c.drawString(1*inch, y, desc)
|
||||||
|
c.drawString(3.5*inch, y, str(qty))
|
||||||
|
c.drawString(4.5*inch, y, f"${price:.2f}")
|
||||||
|
c.drawString(6*inch, y, f"${amount:.2f}")
|
||||||
|
y -= 0.35*inch
|
||||||
|
|
||||||
|
# Totals
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.line(1*inch, y, 7.5*inch, y)
|
||||||
|
y -= 0.4*inch
|
||||||
|
c.setFont("Helvetica-Bold", 10)
|
||||||
|
c.drawString(5.5*inch, y, "SUBTOTAL:")
|
||||||
|
c.drawString(7*inch, y, f"${total:.2f}")
|
||||||
|
y -= 0.3*inch
|
||||||
|
tax = total * 0.08
|
||||||
|
c.drawString(5.5*inch, y, "TAX (8%):")
|
||||||
|
c.drawString(7*inch, y, f"${tax:.2f}")
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.setFont("Helvetica-Bold", 11)
|
||||||
|
c.drawString(5.5*inch, y, "TOTAL DUE:")
|
||||||
|
c.drawString(7*inch, y, f"${total + tax:.2f}")
|
||||||
|
|
||||||
|
|
||||||
|
def draw_scientific_paper_content(c, doc_num):
|
||||||
|
"""Draw scientific paper content."""
|
||||||
|
y = 9*inch
|
||||||
|
|
||||||
|
# Abstract
|
||||||
|
c.setFont("Helvetica-Bold", 11)
|
||||||
|
c.drawString(1*inch, y, "ABSTRACT")
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.setFont("Helvetica", 9)
|
||||||
|
abstract_text = (
|
||||||
|
"This paper presents a comprehensive analysis of novel methodologies "
|
||||||
|
"in the field. We demonstrate significant improvements over existing "
|
||||||
|
"approaches through extensive experimentation. Our results show that "
|
||||||
|
"the proposed method achieves state-of-the-art performance on standard "
|
||||||
|
"benchmarks."
|
||||||
|
)
|
||||||
|
draw_wrapped_text(c, abstract_text, 1*inch, y, 6.5*inch)
|
||||||
|
y = 7*inch
|
||||||
|
|
||||||
|
# Sections
|
||||||
|
sections = [
|
||||||
|
("1. INTRODUCTION", "Introduction provides background and motivation."),
|
||||||
|
("2. RELATED WORK", "Related work covers prior research in this area."),
|
||||||
|
("3. METHODOLOGY", "Our approach combines several techniques."),
|
||||||
|
("4. EXPERIMENTS", "We evaluate on standard datasets."),
|
||||||
|
("5. RESULTS", "Results demonstrate effectiveness of our method."),
|
||||||
|
("6. DISCUSSION", "We analyze the implications of our findings."),
|
||||||
|
("7. CONCLUSION", "Future work includes extending to other domains.")
|
||||||
|
]
|
||||||
|
|
||||||
|
for title, desc in sections:
|
||||||
|
c.setFont("Helvetica-Bold", 10)
|
||||||
|
c.drawString(1*inch, y, title)
|
||||||
|
y -= 0.25*inch
|
||||||
|
c.setFont("Helvetica", 9)
|
||||||
|
y = draw_wrapped_text(c, desc, 1*inch, y, 6.5*inch)
|
||||||
|
y -= 0.2*inch
|
||||||
|
|
||||||
|
if y < 1.5*inch:
|
||||||
|
c.showPage()
|
||||||
|
y = 10*inch
|
||||||
|
|
||||||
|
# References placeholder
|
||||||
|
y -= 0.2*inch
|
||||||
|
c.setFont("Helvetica-Bold", 10)
|
||||||
|
c.drawString(1*inch, y, "REFERENCES")
|
||||||
|
y -= 0.25*inch
|
||||||
|
c.setFont("Helvetica", 8)
|
||||||
|
refs = [
|
||||||
|
"[1] Author, A. (2024). Title of the paper. Journal Name, 15(3), 123-145.",
|
||||||
|
"[2] Smith, J. & Doe, J. (2023). Another relevant paper. Proceedings of CVPR.",
|
||||||
|
"[3] Brown, K. et al. (2024). Recent advances. IEEE Transactions on Pattern Analysis."
|
||||||
|
]
|
||||||
|
for ref in refs:
|
||||||
|
y = draw_wrapped_text(c, ref, 1*inch, y, 6.5*inch)
|
||||||
|
y -= 0.15*inch
|
||||||
|
|
||||||
|
|
||||||
|
def draw_contract_content(c, doc_num):
|
||||||
|
"""Draw contract content."""
|
||||||
|
y = 8.5*inch
|
||||||
|
|
||||||
|
# Preamble
|
||||||
|
c.setFont("Helvetica-Bold", 10)
|
||||||
|
c.drawString(1*inch, y, "PARTIES")
|
||||||
|
y -= 0.25*inch
|
||||||
|
c.setFont("Helvetica", 9)
|
||||||
|
c.drawString(1*inch, y, "This Service Agreement (\"Agreement\") is entered into as of the date last written below,")
|
||||||
|
y -= 0.2*inch
|
||||||
|
y = draw_wrapped_text(c, "by and between Provider Co. (\"Provider\") and Client Inc. (\"Client\").", 1*inch, y, 6.5*inch)
|
||||||
|
|
||||||
|
y -= 0.3*inch
|
||||||
|
|
||||||
|
# Clauses
|
||||||
|
clauses = [
|
||||||
|
("1. SERVICES", "Provider shall perform the services described in Exhibit A."),
|
||||||
|
("2. TERM", "This Agreement shall commence on Start Date and continue for Term months."),
|
||||||
|
("3. COMPENSATION", "Client shall pay Provider the fees set forth in Exhibit B."),
|
||||||
|
("4. CONFIDENTIALITY", "Each party shall maintain the confidentiality of proprietary information."),
|
||||||
|
("5. LIABILITY", "Provider's liability shall be limited to Fees paid under this Agreement."),
|
||||||
|
("6. TERMINATION", "Either party may terminate with 30 days written notice."),
|
||||||
|
("7. GOVERNING LAW", "This Agreement shall be governed by the laws of State X."),
|
||||||
|
("8. ENTIRE AGREEMENT", "This Agreement constitutes the entire understanding between the parties.")
|
||||||
|
]
|
||||||
|
|
||||||
|
for title, text in clauses:
|
||||||
|
if y < 2*inch:
|
||||||
|
c.showPage()
|
||||||
|
y = 10*inch
|
||||||
|
|
||||||
|
c.setFont("Helvetica-Bold", 10)
|
||||||
|
c.drawString(1*inch, y, title)
|
||||||
|
y -= 0.25*inch
|
||||||
|
c.setFont("Helvetica", 9)
|
||||||
|
y = draw_wrapped_text(c, text, 1*inch, y, 6.5*inch)
|
||||||
|
y -= 0.25*inch
|
||||||
|
|
||||||
|
# Signatures
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.line(1*inch, y, 3.5*inch, y)
|
||||||
|
c.drawString(1*inch, y-0.15*inch, "Provider:")
|
||||||
|
c.line(5*inch, y, 7.5*inch, y)
|
||||||
|
c.drawString(5*inch, y-0.15*inch, "Client:")
|
||||||
|
|
||||||
|
|
||||||
|
def draw_misc_receipt(c, doc_num):
|
||||||
|
"""Draw receipt content."""
|
||||||
|
c.setFont("Helvetica-Bold", 14)
|
||||||
|
c.drawCentredString(4.25*inch, 9.5*inch, "RECEIPT")
|
||||||
|
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawCentredString(4.25*inch, 9*inch, f"Receipt #{doc_num:06d}")
|
||||||
|
c.drawCentredString(4.25*inch, 8.7*inch, f"Date: 2024-{random.randint(1,12):02d}-{random.randint(1,28):02d}")
|
||||||
|
|
||||||
|
y = 8*inch
|
||||||
|
c.drawString(1*inch, y, "RECEIVED FROM:")
|
||||||
|
c.drawString(2.5*inch, y, "John Smith")
|
||||||
|
|
||||||
|
y -= 0.4*inch
|
||||||
|
c.drawString(1*inch, y, "AMOUNT:")
|
||||||
|
amount = random.randint(50, 5000)
|
||||||
|
c.drawString(2.5*inch, y, f"${amount}.00")
|
||||||
|
|
||||||
|
y -= 0.4*inch
|
||||||
|
c.drawString(1*inch, y, "FOR:")
|
||||||
|
y = draw_wrapped_text(c, "Payment for services rendered - Professional consulting - Project deliverables", 2.5*inch, y, 4.5*inch)
|
||||||
|
|
||||||
|
y -= 0.4*inch
|
||||||
|
c.drawString(1*inch, y, "PAYMENT METHOD:")
|
||||||
|
c.drawString(2.5*inch, y, random.choice(["Cash", "Credit Card", "Check", "Bank Transfer"]))
|
||||||
|
|
||||||
|
y = 2*inch
|
||||||
|
c.line(1*inch, y, 4*inch, y)
|
||||||
|
c.drawString(1*inch, y-0.2*inch, "AUTHORIZED SIGNATURE")
|
||||||
|
|
||||||
|
|
||||||
|
def draw_misc_form(c, doc_num):
|
||||||
|
"""Draw form content."""
|
||||||
|
c.setFont("Helvetica-Bold", 14)
|
||||||
|
c.drawCentredString(4.25*inch, 10*inch, "APPLICATION FORM")
|
||||||
|
|
||||||
|
y = 9*inch
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
|
||||||
|
fields = [
|
||||||
|
("Full Name:", "________________________________"),
|
||||||
|
("Address:", "________________________________"),
|
||||||
|
("City/State:", "_____________________________"),
|
||||||
|
("Phone:", "_______________________________"),
|
||||||
|
("Email:", "_______________________________"),
|
||||||
|
("Date of Birth:", "________________________")
|
||||||
|
]
|
||||||
|
|
||||||
|
for label, line in fields:
|
||||||
|
c.drawString(1*inch, y, label)
|
||||||
|
c.drawString(2.5*inch, y, line)
|
||||||
|
y -= 0.35*inch
|
||||||
|
|
||||||
|
y -= 0.2*inch
|
||||||
|
c.drawString(1*inch, y, "Please complete all fields. Sign below:")
|
||||||
|
|
||||||
|
y = 2*inch
|
||||||
|
c.drawString(1*inch, y, "Signature: _______________________ Date: _________________")
|
||||||
|
|
||||||
|
|
||||||
|
def draw_misc_bank_statement(c, doc_num):
|
||||||
|
"""Draw bank statement content."""
|
||||||
|
c.setFont("Helvetica-Bold", 12)
|
||||||
|
c.drawString(1*inch, 10*inch, "STATEMENT OF ACCOUNT")
|
||||||
|
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawString(6*inch, 10*inch, f"Period: 01/01/2024 - 01/31/2024")
|
||||||
|
c.drawString(1*inch, 9.6*inch, "Account: ****1234")
|
||||||
|
c.drawString(6*inch, 9.6*inch, "Statement Date: 02/01/2024")
|
||||||
|
|
||||||
|
# Table header
|
||||||
|
y = 8.8*inch
|
||||||
|
c.setFont("Helvetica-Bold", 9)
|
||||||
|
c.drawString(1*inch, y, "DATE")
|
||||||
|
c.drawString(2*inch, y, "DESCRIPTION")
|
||||||
|
c.drawString(5*inch, y, "WITHDRAWAL")
|
||||||
|
c.drawString(6.2*inch, y, "DEPOSIT")
|
||||||
|
c.drawString(7.2*inch, y, "BALANCE")
|
||||||
|
c.line(1*inch, y-0.1*inch, 7.8*inch, y-0.1*inch)
|
||||||
|
|
||||||
|
# Transactions
|
||||||
|
y = 8.3*inch
|
||||||
|
balance = 5000
|
||||||
|
transactions = [
|
||||||
|
("01/05", "Opening Balance", "", "", "5,000.00"),
|
||||||
|
("01/08", "Direct Deposit - Payroll", "", "3,500.00", "8,500.00"),
|
||||||
|
("01/10", "ACH Payment - Electric Co", "150.00", "", "8,350.00"),
|
||||||
|
("01/15", "POS Transaction - Grocery", "85.50", "", "8,264.50"),
|
||||||
|
("01/20", "ATM Withdrawal", "200.00", "", "8,064.50"),
|
||||||
|
("01/25", "Direct Deposit - Payroll", "", "3,500.00", "11,564.50"),
|
||||||
|
("01/28", "Online Payment - Credit Card", "500.00", "", "11,064.50")
|
||||||
|
]
|
||||||
|
|
||||||
|
c.setFont("Helvetica", 8)
|
||||||
|
for date, desc, wd, dep, bal in transactions:
|
||||||
|
c.drawString(1*inch, y, date)
|
||||||
|
c.drawString(2*inch, y, desc)
|
||||||
|
c.drawString(5*inch, y, wd)
|
||||||
|
c.drawString(6.2*inch, y, dep)
|
||||||
|
c.drawString(7.2*inch, y, bal)
|
||||||
|
y -= 0.22*inch
|
||||||
|
|
||||||
|
|
||||||
|
def draw_misc_slide_deck(c, doc_num):
|
||||||
|
"""Draw slide deck content."""
|
||||||
|
c.setFont("Helvetica-Bold", 16)
|
||||||
|
c.drawCentredString(4.25*inch, 9*inch, "Quarterly Business Review")
|
||||||
|
|
||||||
|
c.setFont("Helvetica", 11)
|
||||||
|
c.drawCentredString(4.25*inch, 8.5*inch, "Q4 2024 Performance Analysis")
|
||||||
|
|
||||||
|
y = 7*inch
|
||||||
|
c.setFont("Helvetica-Bold", 12)
|
||||||
|
c.drawString(1*inch, y, "AGENDA")
|
||||||
|
|
||||||
|
y -= 0.4*inch
|
||||||
|
c.setFont("Helvetica", 11)
|
||||||
|
agenda_items = [
|
||||||
|
"1. Executive Summary",
|
||||||
|
"2. Key Performance Indicators",
|
||||||
|
"3. Revenue Analysis",
|
||||||
|
"4. Market Position",
|
||||||
|
"5. Strategic Initiatives",
|
||||||
|
"6. Q&A"
|
||||||
|
]
|
||||||
|
for item in agenda_items:
|
||||||
|
c.drawString(1.5*inch, y, item)
|
||||||
|
y -= 0.3*inch
|
||||||
|
|
||||||
|
y = 4*inch
|
||||||
|
c.setFont("Helvetica-Bold", 12)
|
||||||
|
c.drawString(1*inch, y, "KEY POINTS")
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
points = [
|
||||||
|
"Revenue increased 15% YoY",
|
||||||
|
"Customer satisfaction at 94%",
|
||||||
|
"New product launch successful",
|
||||||
|
"Expanded to 3 new markets"
|
||||||
|
]
|
||||||
|
for point in points:
|
||||||
|
c.drawString(1*inch, y, f"• {point}")
|
||||||
|
y -= 0.25*inch
|
||||||
|
|
||||||
|
|
||||||
|
def draw_misc_legal_filing(c, doc_num):
|
||||||
|
"""Draw legal filing content."""
|
||||||
|
c.setFont("Helvetica-Bold", 10)
|
||||||
|
c.drawCentredString(4.25*inch, 10*inch, "SUPERIOR COURT OF CALIFORNIA")
|
||||||
|
c.drawCentredString(4.25*inch, 9.7*inch, "COUNTY OF LOS ANGELES")
|
||||||
|
|
||||||
|
y = 9*inch
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawString(1*inch, y, f"CASE NO: {random.randint(100000,999999)}-{random.randint(10,99)}")
|
||||||
|
c.drawString(5*inch, y, f"FILED: {random.randint(1,12)}/01/2024")
|
||||||
|
|
||||||
|
y -= 0.4*inch
|
||||||
|
c.setFont("Helvetica-Bold", 11)
|
||||||
|
c.drawString(1*inch, y, "PLAINTIFF:")
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawString(2*inch, y, "ABC Corporation, a California corporation")
|
||||||
|
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.setFont("Helvetica-Bold", 11)
|
||||||
|
c.drawString(1*inch, y, "DEFENDANT:")
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawString(2*inch, y, "XYZ LLC, a California limited liability company")
|
||||||
|
|
||||||
|
y -= 0.5*inch
|
||||||
|
c.setFont("Helvetica-Bold", 11)
|
||||||
|
c.drawString(1*inch, y, "COMPLAINT FOR BREACH OF CONTRACT")
|
||||||
|
|
||||||
|
y -= 0.4*inch
|
||||||
|
c.setFont("Helvetica", 9)
|
||||||
|
c.drawString(1*inch, y, "COMES NOW the Plaintiff, ABC Corporation, by and through counsel, and complains of Defendant")
|
||||||
|
y -= 0.2*inch
|
||||||
|
y = draw_wrapped_text(c, "XYZ LLC as follows:", 1*inch, y, 6.5*inch)
|
||||||
|
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.setFont("Helvetica-Bold", 10)
|
||||||
|
c.drawString(1*inch, y, "COUNT I: BREACH OF CONTRACT")
|
||||||
|
y -= 0.25*inch
|
||||||
|
c.setFont("Helvetica", 9)
|
||||||
|
y = draw_wrapped_text(c, "1. Plaintiff is a corporation organized under California law.", 1*inch, y, 6.5*inch)
|
||||||
|
y -= 0.2*inch
|
||||||
|
y = draw_wrapped_text(c, "2. Defendant is a limited liability company organized under California law.", 1*inch, y, 6.5*inch)
|
||||||
|
y -= 0.2*inch
|
||||||
|
y = draw_wrapped_text(c, "3. On or about June 1, 2023, the parties entered into a written contract.", 1*inch, y, 6.5*inch)
|
||||||
|
|
||||||
|
y = 1.5*inch
|
||||||
|
c.drawString(1*inch, y, "Dated: January 15, 2024")
|
||||||
|
c.drawString(5*inch, y, "CLERK OF THE COURT")
|
||||||
|
|
||||||
|
|
||||||
|
def draw_misc_book_excerpt(c, doc_num):
|
||||||
|
"""Draw book excerpt content."""
|
||||||
|
c.setFont("Helvetica-Bold", 12)
|
||||||
|
c.drawCentredString(4.25*inch, 10*inch, "Chapter 3")
|
||||||
|
|
||||||
|
c.setFont("Helvetica", 11)
|
||||||
|
c.drawCentredString(4.25*inch, 9.6*inch, "The Journey Begins")
|
||||||
|
|
||||||
|
y = 8.5*inch
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
|
||||||
|
text = (
|
||||||
|
"The morning sun cast long shadows across the cobblestone streets as "
|
||||||
|
"Elara made her way toward the ancient library. For three generations, "
|
||||||
|
"her family had guarded the secrets contained within its walls, and now "
|
||||||
|
"it was her turn to shoulder the responsibility."
|
||||||
|
)
|
||||||
|
y = draw_wrapped_text(c, text, 1*inch, y, 6.5*inch)
|
||||||
|
y -= 0.3*inch
|
||||||
|
|
||||||
|
text = (
|
||||||
|
"She paused at the heavy oak door, her hand hovering over the iron handle. "
|
||||||
|
"Inside, she knew, lay the answers she had been seeking since her father's "
|
||||||
|
"disappearance. The old books held more than stories—they held the key to "
|
||||||
|
"understanding the prophecy that had shaped her entire life."
|
||||||
|
)
|
||||||
|
y = draw_wrapped_text(c, text, 1*inch, y, 6.5*inch)
|
||||||
|
y -= 0.3*inch
|
||||||
|
|
||||||
|
text = (
|
||||||
|
"Taking a deep breath, Elara pushed the door open. The familiar scent of "
|
||||||
|
"parchment and dust filled her senses. In the silence of the empty hall, "
|
||||||
|
"she could almost hear the whispers of scholars who had walked these "
|
||||||
|
"aisles centuries before."
|
||||||
|
)
|
||||||
|
y = draw_wrapped_text(c, text, 1*inch, y, 6.5*inch)
|
||||||
|
|
||||||
|
|
||||||
|
def draw_misc_magazine(c, doc_num):
|
||||||
|
"""Draw magazine content."""
|
||||||
|
c.setFont("Helvetica-Bold", 14)
|
||||||
|
c.drawCentredString(4.25*inch, 10*inch, "TECH TODAY MAGAZINE")
|
||||||
|
|
||||||
|
c.setFont("Helvetica", 10)
|
||||||
|
c.drawCentredString(4.25*inch, 9.6*inch, "March 2024 Edition | Vol. 47 No. 3")
|
||||||
|
|
||||||
|
y = 8.5*inch
|
||||||
|
c.setFont("Helvetica-Bold", 12)
|
||||||
|
c.drawString(1*inch, y, "FEATURE STORY")
|
||||||
|
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.setFont("Helvetica-Bold", 11)
|
||||||
|
c.drawString(1*inch, y, "The Future of Artificial Intelligence")
|
||||||
|
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.setFont("Helvetica", 9)
|
||||||
|
article = (
|
||||||
|
"In this exclusive interview, leading researchers discuss the next frontier "
|
||||||
|
"of machine learning. From natural language processing to computer vision, "
|
||||||
|
"AI is transforming every industry. We explore the ethical implications and "
|
||||||
|
"the path forward."
|
||||||
|
)
|
||||||
|
y = draw_wrapped_text(c, article, 1*inch, y, 6.5*inch)
|
||||||
|
|
||||||
|
y -= 0.4*inch
|
||||||
|
c.setFont("Helvetica-Bold", 10)
|
||||||
|
c.drawString(1*inch, y, "IN THIS ISSUE")
|
||||||
|
|
||||||
|
y -= 0.3*inch
|
||||||
|
c.setFont("Helvetica", 9)
|
||||||
|
articles = [
|
||||||
|
"• Cloud Computing Trends for 2024",
|
||||||
|
"• Cybersecurity Best Practices",
|
||||||
|
"• The Rise of Edge Computing",
|
||||||
|
"• Developer Tools Roundup",
|
||||||
|
"• Startup Spotlight"
|
||||||
|
]
|
||||||
|
for a in articles:
|
||||||
|
c.drawString(1*inch, y, a)
|
||||||
|
y -= 0.2*inch
|
||||||
|
|
||||||
|
y -= 0.2*inch
|
||||||
|
c.drawString(1*inch, y, "SUBSCRIBE at techtoday.example.com")
|
||||||
|
|
||||||
|
|
||||||
|
def draw_wrapped_text(c, text, x, y, max_width):
|
||||||
|
"""Draw text wrapped to max_width, return new y position."""
|
||||||
|
words = text.split()
|
||||||
|
lines = []
|
||||||
|
current_line = []
|
||||||
|
|
||||||
|
for word in words:
|
||||||
|
test_line = ' '.join(current_line + [word])
|
||||||
|
if c.stringWidth(test_line, 'Helvetica', 9) <= max_width:
|
||||||
|
current_line.append(word)
|
||||||
|
else:
|
||||||
|
if current_line:
|
||||||
|
lines.append(' '.join(current_line))
|
||||||
|
current_line = [word]
|
||||||
|
|
||||||
|
if current_line:
|
||||||
|
lines.append(' '.join(current_line))
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
c.drawString(x, y, line)
|
||||||
|
y -= 0.18*inch
|
||||||
|
|
||||||
|
return y
|
||||||
|
|
||||||
|
|
||||||
|
def generate_pdf(doc_type, doc_num, subtype=None):
|
||||||
|
"""Generate a single PDF document."""
|
||||||
|
filename = OUTPUT_DIR / doc_type / f"{doc_num:02d}.pdf"
|
||||||
|
|
||||||
|
c = canvas.Canvas(str(filename), pagesize=letter)
|
||||||
|
|
||||||
|
if doc_type == "invoice":
|
||||||
|
draw_header(c, doc_type, doc_num)
|
||||||
|
draw_invoice_content(c, doc_num)
|
||||||
|
|
||||||
|
elif doc_type == "scientific_paper":
|
||||||
|
draw_header(c, doc_type, doc_num)
|
||||||
|
draw_scientific_paper_content(c, doc_num)
|
||||||
|
|
||||||
|
elif doc_type == "contract":
|
||||||
|
draw_header(c, doc_type, doc_num)
|
||||||
|
draw_contract_content(c, doc_num)
|
||||||
|
|
||||||
|
elif doc_type == "misc":
|
||||||
|
if subtype == "receipt":
|
||||||
|
draw_misc_receipt(c, doc_num)
|
||||||
|
elif subtype == "form":
|
||||||
|
draw_misc_form(c, doc_num)
|
||||||
|
elif subtype == "bank_statement":
|
||||||
|
draw_misc_bank_statement(c, doc_num)
|
||||||
|
elif subtype == "slide_deck":
|
||||||
|
draw_misc_slide_deck(c, doc_num)
|
||||||
|
elif subtype == "legal_filing":
|
||||||
|
draw_misc_legal_filing(c, doc_num)
|
||||||
|
elif subtype == "book_excerpt":
|
||||||
|
draw_misc_book_excerpt(c, doc_num)
|
||||||
|
elif subtype == "magazine":
|
||||||
|
draw_misc_magazine(c, doc_num)
|
||||||
|
|
||||||
|
c.save()
|
||||||
|
print(f"Generated: {filename}")
|
||||||
|
|
||||||
|
|
||||||
|
def generate_manifest():
|
||||||
|
"""Generate MANIFEST.tsv file."""
|
||||||
|
manifest_path = OUTPUT_DIR / "MANIFEST.tsv"
|
||||||
|
|
||||||
|
sources = {
|
||||||
|
"invoice": "Synthetic test data generated by scripts/generate_test_corpus.py",
|
||||||
|
"scientific_paper": "Synthetic test data generated by scripts/generate_test_corpus.py",
|
||||||
|
"contract": "Synthetic test data generated by scripts/generate_test_corpus.py",
|
||||||
|
"misc": "Synthetic test data generated by scripts/generate_test_corpus.py"
|
||||||
|
}
|
||||||
|
|
||||||
|
misc_subtypes = {
|
||||||
|
"receipt": "1-08",
|
||||||
|
"form": "9-16",
|
||||||
|
"bank_statement": "17-23",
|
||||||
|
"slide_deck": "24-30",
|
||||||
|
"legal_filing": "31-37",
|
||||||
|
"book_excerpt": "38-43",
|
||||||
|
"magazine": "44-50"
|
||||||
|
}
|
||||||
|
|
||||||
|
with open(manifest_path, 'w') as f:
|
||||||
|
f.write("path\texpected_document_type\tsource_url\tlicense\n")
|
||||||
|
|
||||||
|
for doc_type in ["invoice", "scientific_paper", "contract"]:
|
||||||
|
for i in range(1, 51):
|
||||||
|
f.write(f"{doc_type}/{i:02d}.pdf\t{doc_type}\t{sources[doc_type]}\tMIT-0\n")
|
||||||
|
|
||||||
|
for i in range(1, 51):
|
||||||
|
for subtype, range_str in misc_subtypes.items():
|
||||||
|
start, end = map(int, range_str.split('-'))
|
||||||
|
if start <= i <= end:
|
||||||
|
f.write(f"misc/{i:02d}.pdf\t{subtype}\t{sources['misc']}\tMIT-0\n")
|
||||||
|
break
|
||||||
|
|
||||||
|
print(f"Generated: {manifest_path}")
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
"""Generate all test PDFs."""
|
||||||
|
print("Generating 200-document classifier corpus...")
|
||||||
|
|
||||||
|
# Create subdirectories
|
||||||
|
for doc_type in ["invoice", "scientific_paper", "contract", "misc"]:
|
||||||
|
(OUTPUT_DIR / doc_type).mkdir(exist_ok=True)
|
||||||
|
|
||||||
|
# Generate invoices
|
||||||
|
print("\nGenerating 50 invoices...")
|
||||||
|
for i in range(1, 51):
|
||||||
|
generate_pdf("invoice", i)
|
||||||
|
|
||||||
|
# Generate scientific papers
|
||||||
|
print("\nGenerating 50 scientific papers...")
|
||||||
|
for i in range(1, 51):
|
||||||
|
generate_pdf("scientific_paper", i)
|
||||||
|
|
||||||
|
# Generate contracts
|
||||||
|
print("\nGenerating 50 contracts...")
|
||||||
|
for i in range(1, 51):
|
||||||
|
generate_pdf("contract", i)
|
||||||
|
|
||||||
|
# Generate misc documents
|
||||||
|
print("\nGenerating 50 misc documents...")
|
||||||
|
misc_ranges = {
|
||||||
|
"receipt": (1, 8),
|
||||||
|
"form": (9, 16),
|
||||||
|
"bank_statement": (17, 23),
|
||||||
|
"slide_deck": (24, 30),
|
||||||
|
"legal_filing": (31, 37),
|
||||||
|
"book_excerpt": (38, 43),
|
||||||
|
"magazine": (44, 50)
|
||||||
|
}
|
||||||
|
|
||||||
|
for subtype, (start, end) in misc_ranges.items():
|
||||||
|
for i in range(start, end + 1):
|
||||||
|
generate_pdf("misc", i, subtype=subtype)
|
||||||
|
|
||||||
|
# Generate manifest
|
||||||
|
print("\nGenerating MANIFEST.tsv...")
|
||||||
|
generate_manifest()
|
||||||
|
|
||||||
|
print("\n✓ Corpus generation complete!")
|
||||||
|
print(f" - 200 PDFs in {OUTPUT_DIR}")
|
||||||
|
print(f" - MANIFEST.tsv with expected classifications")
|
||||||
|
print(f" - Total size: {sum(f.stat().st_size for f in OUTPUT_DIR.rglob('*.pdf')) / 1024 / 1024:.1f} MB")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
148
src/graphics_state/color.rs
Normal file
148
src/graphics_state/color.rs
Normal file
|
|
@ -0,0 +1,148 @@
|
||||||
|
//! Color representation for PDF graphics state.
|
||||||
|
//!
|
||||||
|
//! Supports all PDF color spaces relevant to text extraction.
|
||||||
|
|
||||||
|
use std::sync::Arc;
|
||||||
|
|
||||||
|
/// Color in a PDF graphics state.
|
||||||
|
///
|
||||||
|
/// Covers all PDF color spaces relevant to text extraction.
|
||||||
|
/// Unsupported color spaces (CalRGB, ICCBased, Pattern) are treated as transparent.
|
||||||
|
#[derive(Debug, Clone, PartialEq)]
|
||||||
|
pub enum Color {
|
||||||
|
/// DeviceGray color space (0.0–1.0)
|
||||||
|
DeviceGray(f32),
|
||||||
|
/// DeviceRGB color space (0.0–1.0 each)
|
||||||
|
DeviceRGB([f32; 3]),
|
||||||
|
/// DeviceCMYK color space (0.0–1.0 each)
|
||||||
|
DeviceCMYK([f32; 4]),
|
||||||
|
/// Spot color: colorant name and tint (0.0–1.0)
|
||||||
|
Spot(Arc<str>, f32),
|
||||||
|
/// Unsupported color space (CalRGB, ICCBased, Pattern)
|
||||||
|
/// Treated as transparent for text extraction
|
||||||
|
Other,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Color {
|
||||||
|
/// Create a new DeviceGray color.
|
||||||
|
pub fn gray(value: f32) -> Self {
|
||||||
|
Color::DeviceGray(value.clamp(0.0, 1.0))
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a new DeviceRGB color.
|
||||||
|
pub fn rgb(r: f32, g: f32, b: f32) -> Self {
|
||||||
|
Color::DeviceRGB([
|
||||||
|
r.clamp(0.0, 1.0),
|
||||||
|
g.clamp(0.0, 1.0),
|
||||||
|
b.clamp(0.0, 1.0),
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a new DeviceCMYK color.
|
||||||
|
pub fn cmyk(c: f32, m: f32, y: f32, k: f32) -> Self {
|
||||||
|
Color::DeviceCMYK([
|
||||||
|
c.clamp(0.0, 1.0),
|
||||||
|
m.clamp(0.0, 1.0),
|
||||||
|
y.clamp(0.0, 1.0),
|
||||||
|
k.clamp(0.0, 1.0),
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a new Spot color.
|
||||||
|
pub fn spot(name: Arc<str>, tint: f32) -> Self {
|
||||||
|
Color::Spot(name, tint.clamp(0.0, 1.0))
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Convert to CSS hex string if possible.
|
||||||
|
///
|
||||||
|
/// Returns `None` for CMYK, Spot, and Other colors.
|
||||||
|
pub fn to_css_hex(&self) -> Option<String> {
|
||||||
|
match self {
|
||||||
|
Color::DeviceGray(v) => {
|
||||||
|
let byte = (v * 255.0).round() as u8;
|
||||||
|
Some(format!("#{byte:02x}{byte:02x}{byte:02x}"))
|
||||||
|
}
|
||||||
|
Color::DeviceRGB([r, g, b]) => {
|
||||||
|
let rr = (r * 255.0).round() as u8;
|
||||||
|
let gg = (g * 255.0).round() as u8;
|
||||||
|
let bb = (b * 255.0).round() as u8;
|
||||||
|
Some(format!("#{rr:02x}{gg:02x}{bb:02x}"))
|
||||||
|
}
|
||||||
|
Color::DeviceCMYK([c, m, y, k]) => {
|
||||||
|
// Convert CMYK to RGB using standard formula
|
||||||
|
// R = 255 × (1−C) × (1−K)
|
||||||
|
// G = 255 × (1−M) × (1−K)
|
||||||
|
// B = 255 × (1−Y) × (1−K)
|
||||||
|
let r = (1.0 - c) * (1.0 - k);
|
||||||
|
let g = (1.0 - m) * (1.0 - k);
|
||||||
|
let b = (1.0 - y) * (1.0 - k);
|
||||||
|
let rr = (r * 255.0).round() as u8;
|
||||||
|
let gg = (g * 255.0).round() as u8;
|
||||||
|
let bb = (b * 255.0).round() as u8;
|
||||||
|
Some(format!("#{rr:02x}{gg:02x}{bb:02x}"))
|
||||||
|
}
|
||||||
|
Color::Spot(_, _) | Color::Other => None,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Check if this color should be treated as transparent.
|
||||||
|
pub fn is_transparent(&self) -> bool {
|
||||||
|
matches!(self, Color::Spot(_, _) | Color::Other)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for Color {
|
||||||
|
fn default() -> Self {
|
||||||
|
// Default to black
|
||||||
|
Color::DeviceRGB([0.0, 0.0, 0.0])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_gray_clamping() {
|
||||||
|
assert_eq!(Color::gray(-0.5), Color::DeviceGray(0.0));
|
||||||
|
assert_eq!(Color::gray(1.5), Color::DeviceGray(1.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_rgb_clamping() {
|
||||||
|
assert_eq!(Color::rgb(-0.5, 0.5, 1.5), Color::DeviceRGB([0.0, 0.5, 1.0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_to_css_hex_gray() {
|
||||||
|
assert_eq!(Color::gray(0.5).to_css_hex(), Some("#808080".to_string()));
|
||||||
|
assert_eq!(Color::gray(0.0).to_css_hex(), Some("#000000".to_string()));
|
||||||
|
assert_eq!(Color::gray(1.0).to_css_hex(), Some("#ffffff".to_string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_to_css_hex_rgb() {
|
||||||
|
assert_eq!(Color::rgb(1.0, 0.0, 0.0).to_css_hex(), Some("#ff0000".to_string()));
|
||||||
|
assert_eq!(Color::rgb(0.0, 1.0, 0.0).to_css_hex(), Some("#00ff00".to_string()));
|
||||||
|
assert_eq!(Color::rgb(0.0, 0.0, 1.0).to_css_hex(), Some("#0000ff".to_string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_to_css_hex_cmyk() {
|
||||||
|
// Pure cyan in CMYK should convert to cyan in RGB
|
||||||
|
assert_eq!(Color::cmyk(1.0, 0.0, 0.0, 0.0).to_css_hex(), Some("#00ffff".to_string()));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_spot_is_transparent() {
|
||||||
|
let spot = Color::spot(Arc::from("PANTONE-123"), 0.5);
|
||||||
|
assert!(spot.is_transparent());
|
||||||
|
assert!(spot.to_css_hex().is_none());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_other_is_transparent() {
|
||||||
|
assert!(Color::Other.is_transparent());
|
||||||
|
assert!(Color::Other.to_css_hex().is_none());
|
||||||
|
}
|
||||||
|
}
|
||||||
35
src/graphics_state/diagnostics.rs
Normal file
35
src/graphics_state/diagnostics.rs
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
//! Diagnostic messages emitted during PDF processing.
|
||||||
|
|
||||||
|
/// Diagnostic message emitted during PDF processing.
|
||||||
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||||
|
pub enum Diagnostic {
|
||||||
|
GraphicsStateStackOverflow,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Diagnostic {
|
||||||
|
pub fn severity(&self) -> Severity {
|
||||||
|
match self {
|
||||||
|
Diagnostic::GraphicsStateStackOverflow => Severity::Warning,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn code(&self) -> &'static str {
|
||||||
|
match self {
|
||||||
|
Diagnostic::GraphicsStateStackOverflow => "GSTATE_STACK_OVERFLOW",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn message(&self) -> String {
|
||||||
|
match self {
|
||||||
|
Diagnostic::GraphicsStateStackOverflow => {
|
||||||
|
"Graphics state stack depth exceeded limit of 64".to_string()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||||
|
pub enum Severity {
|
||||||
|
Warning,
|
||||||
|
Error,
|
||||||
|
}
|
||||||
235
src/graphics_state/matrix.rs
Normal file
235
src/graphics_state/matrix.rs
Normal file
|
|
@ -0,0 +1,235 @@
|
||||||
|
//! 3x3 transformation matrix for PDF graphics.
|
||||||
|
//!
|
||||||
|
//! PDF uses 3x3 matrices for affine transformations in 2D space.
|
||||||
|
//! The matrix is represented as:
|
||||||
|
//! ```
|
||||||
|
//! | a b 0 |
|
||||||
|
//! | c d 0 |
|
||||||
|
//! | e f 1 |
|
||||||
|
//! ```
|
||||||
|
//!
|
||||||
|
/// A 3x3 affine transformation matrix.
|
||||||
|
///
|
||||||
|
/// Only the first two columns are stored since the third column is always
|
||||||
|
/// [0, 0, 1] for affine transformations.
|
||||||
|
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||||
|
pub struct Matrix3x3 {
|
||||||
|
/// Scale X and horizontal shear (a, b)
|
||||||
|
pub a: f64,
|
||||||
|
pub b: f64,
|
||||||
|
/// Vertical shear and scale Y (c, d)
|
||||||
|
pub c: f64,
|
||||||
|
pub d: f64,
|
||||||
|
/// Translation X and Y (e, f)
|
||||||
|
pub e: f64,
|
||||||
|
pub f: f64,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Matrix3x3 {
|
||||||
|
/// Create a new identity matrix.
|
||||||
|
#[inline]
|
||||||
|
pub fn identity() -> Self {
|
||||||
|
Matrix3x3 {
|
||||||
|
a: 1.0,
|
||||||
|
b: 0.0,
|
||||||
|
c: 0.0,
|
||||||
|
d: 1.0,
|
||||||
|
e: 0.0,
|
||||||
|
f: 0.0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a translation matrix.
|
||||||
|
#[inline]
|
||||||
|
pub fn translate(tx: f64, ty: f64) -> Self {
|
||||||
|
Matrix3x3 {
|
||||||
|
a: 1.0,
|
||||||
|
b: 0.0,
|
||||||
|
c: 0.0,
|
||||||
|
d: 1.0,
|
||||||
|
e: tx,
|
||||||
|
f: ty,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a scale matrix.
|
||||||
|
#[inline]
|
||||||
|
pub fn scale(sx: f64, sy: f64) -> Self {
|
||||||
|
Matrix3x3 {
|
||||||
|
a: sx,
|
||||||
|
b: 0.0,
|
||||||
|
c: 0.0,
|
||||||
|
d: sy,
|
||||||
|
e: 0.0,
|
||||||
|
f: 0.0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a rotation matrix (counterclockwise, in radians).
|
||||||
|
#[inline]
|
||||||
|
pub fn rotate(theta: f64) -> Self {
|
||||||
|
let cos = theta.cos();
|
||||||
|
let sin = theta.sin();
|
||||||
|
Matrix3x3 {
|
||||||
|
a: cos,
|
||||||
|
b: sin,
|
||||||
|
c: -sin,
|
||||||
|
d: cos,
|
||||||
|
e: 0.0,
|
||||||
|
f: 0.0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Multiply this matrix by another (this * other).
|
||||||
|
#[inline]
|
||||||
|
pub fn multiply(&self, other: &Matrix3x3) -> Self {
|
||||||
|
Matrix3x3 {
|
||||||
|
a: self.a * other.a + self.b * other.c,
|
||||||
|
b: self.a * other.b + self.b * other.d,
|
||||||
|
c: self.c * other.a + self.d * other.c,
|
||||||
|
d: self.c * other.b + self.d * other.d,
|
||||||
|
e: self.e * other.a + self.f * other.c + other.e,
|
||||||
|
f: self.e * other.b + self.f * other.d + other.f,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Transform a point (x, y) by this matrix.
|
||||||
|
#[inline]
|
||||||
|
pub fn transform_point(&self, x: f64, y: f64) -> (f64, f64) {
|
||||||
|
let tx = self.a * x + self.c * y + self.e;
|
||||||
|
let ty = self.b * x + self.d * y + self.f;
|
||||||
|
(tx, ty)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the inverse of this matrix.
|
||||||
|
///
|
||||||
|
/// Returns `None` if the matrix is not invertible (determinant is zero).
|
||||||
|
pub fn inverse(&self) -> Option<Self> {
|
||||||
|
let det = self.a * self.d - self.b * self.c;
|
||||||
|
if det.abs() < f64::EPSILON {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
|
||||||
|
let inv_det = 1.0 / det;
|
||||||
|
Some(Matrix3x3 {
|
||||||
|
a: self.d * inv_det,
|
||||||
|
b: -self.b * inv_det,
|
||||||
|
c: -self.c * inv_det,
|
||||||
|
d: self.a * inv_det,
|
||||||
|
e: (self.c * self.f - self.d * self.e) * inv_det,
|
||||||
|
f: (self.b * self.e - self.a * self.f) * inv_det,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the scaling factor on the X axis.
|
||||||
|
#[inline]
|
||||||
|
pub fn scale_x(&self) -> f64 {
|
||||||
|
(self.a * self.a + self.b * self.b).sqrt()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the scaling factor on the Y axis.
|
||||||
|
#[inline]
|
||||||
|
pub fn scale_y(&self) -> f64 {
|
||||||
|
(self.c * self.c + self.d * self.d).sqrt()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a matrix from raw PDF array values [a, b, c, d, e, f].
|
||||||
|
#[inline]
|
||||||
|
pub fn from_pdf_array(values: [f64; 6]) -> Self {
|
||||||
|
Matrix3x3 {
|
||||||
|
a: values[0],
|
||||||
|
b: values[1],
|
||||||
|
c: values[2],
|
||||||
|
d: values[3],
|
||||||
|
e: values[4],
|
||||||
|
f: values[5],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Convert to PDF array format [a, b, c, d, e, f].
|
||||||
|
#[inline]
|
||||||
|
pub fn to_pdf_array(&self) -> [f64; 6] {
|
||||||
|
[self.a, self.b, self.c, self.d, self.e, self.f]
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Check if this is an identity matrix.
|
||||||
|
#[inline]
|
||||||
|
pub fn is_identity(&self) -> bool {
|
||||||
|
self.a == 1.0
|
||||||
|
&& self.b == 0.0
|
||||||
|
&& self.c == 0.0
|
||||||
|
&& self.d == 1.0
|
||||||
|
&& self.e == 0.0
|
||||||
|
&& self.f == 0.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for Matrix3x3 {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self::identity()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_identity() {
|
||||||
|
let m = Matrix3x3::identity();
|
||||||
|
assert_eq!(m.transform_point(10.0, 20.0), (10.0, 20.0));
|
||||||
|
assert!(m.is_identity());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_translate() {
|
||||||
|
let m = Matrix3x3::translate(5.0, 10.0);
|
||||||
|
assert_eq!(m.transform_point(10.0, 20.0), (15.0, 30.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_scale() {
|
||||||
|
let m = Matrix3x3::scale(2.0, 3.0);
|
||||||
|
assert_eq!(m.transform_point(10.0, 20.0), (20.0, 60.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_rotate() {
|
||||||
|
let m = Matrix3x3::rotate(std::f64::consts::FRAC_PI_2);
|
||||||
|
let (x, y) = m.transform_point(1.0, 0.0);
|
||||||
|
assert!((x - 0.0).abs() < 1e-10);
|
||||||
|
assert!((y - 1.0).abs() < 1e-10);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_multiply() {
|
||||||
|
let m1 = Matrix3x3::translate(5.0, 0.0);
|
||||||
|
let m2 = Matrix3x3::scale(2.0, 1.0);
|
||||||
|
let result = m1.multiply(&m2);
|
||||||
|
// Scale then translate
|
||||||
|
assert_eq!(result.transform_point(10.0, 20.0), (25.0, 20.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_inverse() {
|
||||||
|
let m = Matrix3x3::translate(10.0, 20.0);
|
||||||
|
let inv = m.inverse().unwrap();
|
||||||
|
let (x, y) = inv.transform_point(15.0, 25.0);
|
||||||
|
assert!((x - 5.0).abs() < 1e-10);
|
||||||
|
assert!((y - 5.0).abs() < 1e-10);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_scale_factors() {
|
||||||
|
let m = Matrix3x3::scale(2.0, 3.0);
|
||||||
|
assert!((m.scale_x() - 2.0).abs() < 1e-10);
|
||||||
|
assert!((m.scale_y() - 3.0).abs() < 1e-10);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_pdf_array_roundtrip() {
|
||||||
|
let values = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0];
|
||||||
|
let m = Matrix3x3::from_pdf_array(values);
|
||||||
|
assert_eq!(m.to_pdf_array(), values);
|
||||||
|
}
|
||||||
|
}
|
||||||
20
src/graphics_state/mod.rs
Normal file
20
src/graphics_state/mod.rs
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
//! Graphics state machine for PDF content stream processing.
|
||||||
|
//!
|
||||||
|
//! This module implements the full PDF graphics state including:
|
||||||
|
//! - Current transformation matrix (CTM)
|
||||||
|
//! - Text matrices (Tm and Tlm)
|
||||||
|
//! - Font binding and text state parameters
|
||||||
|
//! - Color state
|
||||||
|
//! - State stack (q/Q operators)
|
||||||
|
|
||||||
|
mod color;
|
||||||
|
mod diagnostics;
|
||||||
|
mod matrix;
|
||||||
|
mod state;
|
||||||
|
mod stack;
|
||||||
|
|
||||||
|
pub use color::Color;
|
||||||
|
pub use diagnostics::{Diagnostic, Severity};
|
||||||
|
pub use matrix::Matrix3x3;
|
||||||
|
pub use state::{GraphicsState, TextRenderingMode};
|
||||||
|
pub use stack::GraphicsStateStack;
|
||||||
198
src/graphics_state/stack.rs
Normal file
198
src/graphics_state/stack.rs
Normal file
|
|
@ -0,0 +1,198 @@
|
||||||
|
//! Graphics state stack for q/Q operators.
|
||||||
|
//!
|
||||||
|
//! Implements the PDF graphics state stack with a maximum depth of 64
|
||||||
|
/// as specified in the PDF specification.
|
||||||
|
|
||||||
|
use super::state::GraphicsState;
|
||||||
|
|
||||||
|
const MAX_STACK_DEPTH: usize = 64;
|
||||||
|
|
||||||
|
/// Graphics state stack for q/Q operators.
|
||||||
|
///
|
||||||
|
/// PDF specifies a maximum depth of 64. Pushing beyond this limit
|
||||||
|
/// emits a diagnostic and discards the push (safe failure).
|
||||||
|
#[derive(Debug, Clone)]
|
||||||
|
pub struct GraphicsStateStack {
|
||||||
|
stack: Vec<GraphicsState>,
|
||||||
|
diagnostics: Vec<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl GraphicsStateStack {
|
||||||
|
/// Create a new empty stack.
|
||||||
|
pub fn new() -> Self {
|
||||||
|
GraphicsStateStack {
|
||||||
|
stack: Vec::with_capacity(MAX_STACK_DEPTH),
|
||||||
|
diagnostics: Vec::new(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Push a copy of the current state onto the stack (q operator).
|
||||||
|
///
|
||||||
|
/// Returns true if the push succeeded, false if the stack is full.
|
||||||
|
/// When the stack is full (depth 64), a diagnostic is emitted.
|
||||||
|
pub fn push(&mut self, state: &GraphicsState) -> bool {
|
||||||
|
if self.stack.len() >= MAX_STACK_DEPTH {
|
||||||
|
self.diagnostics
|
||||||
|
.push("GSTATE_STACK_OVERFLOW".to_string());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
self.stack.push(state.clone());
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Pop and return the previous state (Q operator).
|
||||||
|
///
|
||||||
|
/// Returns None if the stack is empty (should not happen in valid PDFs).
|
||||||
|
pub fn pop(&mut self) -> Option<GraphicsState> {
|
||||||
|
self.stack.pop()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the current depth of the stack.
|
||||||
|
pub fn depth(&self) -> usize {
|
||||||
|
self.stack.len()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Check if the stack is empty.
|
||||||
|
pub fn is_empty(&self) -> bool {
|
||||||
|
self.stack.is_empty()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Take all diagnostics emitted so far.
|
||||||
|
pub fn take_diagnostics(&mut self) -> Vec<String> {
|
||||||
|
std::mem::take(&mut self.diagnostics)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Clear all diagnostics.
|
||||||
|
pub fn clear_diagnostics(&mut self) {
|
||||||
|
self.diagnostics.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for GraphicsStateStack {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self::new()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_empty_stack() {
|
||||||
|
let mut stack = GraphicsStateStack::new();
|
||||||
|
assert!(stack.is_empty());
|
||||||
|
assert_eq!(stack.depth(), 0);
|
||||||
|
assert!(stack.pop().is_none());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_push_pop() {
|
||||||
|
let mut stack = GraphicsStateStack::new();
|
||||||
|
let state = GraphicsState::new();
|
||||||
|
|
||||||
|
assert!(stack.push(&state));
|
||||||
|
assert_eq!(stack.depth(), 1);
|
||||||
|
assert!(!stack.is_empty());
|
||||||
|
|
||||||
|
let popped = stack.pop();
|
||||||
|
assert!(popped.is_some());
|
||||||
|
assert!(stack.is_empty());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_stack_depth_64() {
|
||||||
|
let mut stack = GraphicsStateStack::new();
|
||||||
|
let state = GraphicsState::new();
|
||||||
|
|
||||||
|
// Push 64 times - should all succeed
|
||||||
|
for i in 0..64 {
|
||||||
|
assert!(stack.push(&state), "Push {} failed", i);
|
||||||
|
assert_eq!(stack.depth(), i + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 65th push should fail
|
||||||
|
assert!(!stack.push(&state));
|
||||||
|
assert_eq!(stack.depth(), 64);
|
||||||
|
|
||||||
|
// Check diagnostic was emitted
|
||||||
|
let diags = stack.take_diagnostics();
|
||||||
|
assert_eq!(diags.len(), 1);
|
||||||
|
assert_eq!(diags[0], "GSTATE_STACK_OVERFLOW");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_state_clone_on_push() {
|
||||||
|
let mut stack = GraphicsStateStack::new();
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
state.set_char_spacing(5.0);
|
||||||
|
|
||||||
|
stack.push(&state);
|
||||||
|
|
||||||
|
// Modify original state
|
||||||
|
state.set_char_spacing(10.0);
|
||||||
|
|
||||||
|
// Popped state should have original value
|
||||||
|
let popped = stack.pop().unwrap();
|
||||||
|
assert_eq!(popped.char_spacing, 5.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_multiple_diagnostics() {
|
||||||
|
let mut stack = GraphicsStateStack::new();
|
||||||
|
let state = GraphicsState::new();
|
||||||
|
|
||||||
|
// Fill the stack
|
||||||
|
for _ in 0..64 {
|
||||||
|
stack.push(&state);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Try to push multiple times
|
||||||
|
for _ in 0..3 {
|
||||||
|
stack.push(&state);
|
||||||
|
}
|
||||||
|
|
||||||
|
let diags = stack.take_diagnostics();
|
||||||
|
assert_eq!(diags.len(), 3);
|
||||||
|
assert!(diags.iter().all(|d| d == "GSTATE_STACK_OVERFLOW"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_clear_diagnostics() {
|
||||||
|
let mut stack = GraphicsStateStack::new();
|
||||||
|
let state = GraphicsState::new();
|
||||||
|
|
||||||
|
// Fill and overflow
|
||||||
|
for _ in 0..65 {
|
||||||
|
stack.push(&state);
|
||||||
|
}
|
||||||
|
|
||||||
|
assert!(!stack.diagnostics.is_empty());
|
||||||
|
stack.clear_diagnostics();
|
||||||
|
assert!(stack.diagnostics.is_empty());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_nested_q_q() {
|
||||||
|
let mut stack = GraphicsStateStack::new();
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
|
||||||
|
// q
|
||||||
|
state.set_char_spacing(1.0);
|
||||||
|
stack.push(&state);
|
||||||
|
|
||||||
|
// q
|
||||||
|
state.set_char_spacing(2.0);
|
||||||
|
stack.push(&state);
|
||||||
|
|
||||||
|
assert_eq!(stack.depth(), 2);
|
||||||
|
|
||||||
|
// Q
|
||||||
|
let popped = stack.pop().unwrap();
|
||||||
|
assert_eq!(popped.char_spacing, 2.0);
|
||||||
|
|
||||||
|
// Q
|
||||||
|
let popped = stack.pop().unwrap();
|
||||||
|
assert_eq!(popped.char_spacing, 1.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
361
src/graphics_state/state.rs
Normal file
361
src/graphics_state/state.rs
Normal file
|
|
@ -0,0 +1,361 @@
|
||||||
|
//! Graphics state for PDF content stream processing.
|
||||||
|
//!
|
||||||
|
//! Implements the full graphics state including CTM, text matrices,
|
||||||
|
//! font binding, and text state parameters.
|
||||||
|
|
||||||
|
use std::sync::Arc;
|
||||||
|
|
||||||
|
use super::{color::Color, matrix::Matrix3x3};
|
||||||
|
|
||||||
|
/// Text rendering mode (Tr operator).
|
||||||
|
///
|
||||||
|
/// Values 0-7 as defined in PDF specification.
|
||||||
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
|
||||||
|
pub enum TextRenderingMode {
|
||||||
|
#[default]
|
||||||
|
Fill = 0,
|
||||||
|
Stroke = 1,
|
||||||
|
FillThenStroke = 2,
|
||||||
|
Invisible = 3,
|
||||||
|
FillClip = 4,
|
||||||
|
StrokeClip = 5,
|
||||||
|
FillThenStrokeClip = 6,
|
||||||
|
Clip = 7,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl TextRenderingMode {
|
||||||
|
/// Create from u8 value, clamping to valid range 0-7.
|
||||||
|
pub fn from_u8(value: u8) -> Self {
|
||||||
|
match value.min(7) {
|
||||||
|
0 => TextRenderingMode::Fill,
|
||||||
|
1 => TextRenderingMode::Stroke,
|
||||||
|
2 => TextRenderingMode::FillThenStroke,
|
||||||
|
3 => TextRenderingMode::Invisible,
|
||||||
|
4 => TextRenderingMode::FillClip,
|
||||||
|
5 => TextRenderingMode::StrokeClip,
|
||||||
|
6 => TextRenderingMode::FillThenStrokeClip,
|
||||||
|
_ => TextRenderingMode::Clip,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Check if text should be invisible.
|
||||||
|
pub fn is_invisible(self) -> bool {
|
||||||
|
self == TextRenderingMode::Invisible
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Font placeholder.
|
||||||
|
///
|
||||||
|
/// This is a minimal placeholder. The full Font type will be implemented
|
||||||
|
/// in Phase 3.2 (Text Operator Processing).
|
||||||
|
#[derive(Debug, Clone)]
|
||||||
|
pub struct Font {
|
||||||
|
// Font fields will be added in Phase 3.2
|
||||||
|
_phantom: std::marker::PhantomData<()>,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Complete graphics state for PDF content stream processing.
|
||||||
|
///
|
||||||
|
/// Contains all 13 fields specified in PDF specification Table 51
|
||||||
|
/// plus the text matrix state.
|
||||||
|
#[derive(Debug, Clone)]
|
||||||
|
pub struct GraphicsState {
|
||||||
|
/// Current transformation matrix (CTM)
|
||||||
|
pub ctm: Matrix3x3,
|
||||||
|
/// Text matrix (Tm) - set by Tm/Td/TD/T*
|
||||||
|
pub text_matrix: Matrix3x3,
|
||||||
|
/// Text line matrix (Tlm) - reset by Td/TD/T*
|
||||||
|
pub text_line_matrix: Matrix3x3,
|
||||||
|
/// Currently bound font
|
||||||
|
pub font: Option<Arc<Font>>,
|
||||||
|
/// Font size (Tf operator)
|
||||||
|
pub font_size: f64,
|
||||||
|
/// Character spacing (Tc operator)
|
||||||
|
pub char_spacing: f64,
|
||||||
|
/// Word spacing (Tw operator)
|
||||||
|
pub word_spacing: f64,
|
||||||
|
/// Horizontal scaling (Tz operator) - percentage, default 100
|
||||||
|
pub horiz_scaling: f64,
|
||||||
|
/// Leading (TL operator)
|
||||||
|
pub leading: f64,
|
||||||
|
/// Text rise (Ts operator)
|
||||||
|
pub text_rise: f64,
|
||||||
|
/// Text rendering mode (Tr operator)
|
||||||
|
pub text_rendering_mode: TextRenderingMode,
|
||||||
|
/// Fill color
|
||||||
|
pub fill_color: Color,
|
||||||
|
/// Stroke color
|
||||||
|
pub stroke_color: Color,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl GraphicsState {
|
||||||
|
/// Create a new graphics state with default values.
|
||||||
|
pub fn new() -> Self {
|
||||||
|
GraphicsState {
|
||||||
|
ctm: Matrix3x3::identity(),
|
||||||
|
text_matrix: Matrix3x3::identity(),
|
||||||
|
text_line_matrix: Matrix3x3::identity(),
|
||||||
|
font: None,
|
||||||
|
font_size: 0.0,
|
||||||
|
char_spacing: 0.0,
|
||||||
|
word_spacing: 0.0,
|
||||||
|
horiz_scaling: 100.0,
|
||||||
|
leading: 0.0,
|
||||||
|
text_rise: 0.0,
|
||||||
|
text_rendering_mode: TextRenderingMode::default(),
|
||||||
|
fill_color: Color::default(),
|
||||||
|
stroke_color: Color::default(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Reset text matrices to identity (BT operator).
|
||||||
|
pub fn begin_text(&mut self) {
|
||||||
|
self.text_matrix = Matrix3x3::identity();
|
||||||
|
self.text_line_matrix = Matrix3x3::identity();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Discard text matrices (ET operator).
|
||||||
|
pub fn end_text(&mut self) {
|
||||||
|
self.text_matrix = Matrix3x3::identity();
|
||||||
|
self.text_line_matrix = Matrix3x3::identity();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Set character spacing (Tc operator).
|
||||||
|
pub fn set_char_spacing(&mut self, value: f64) {
|
||||||
|
self.char_spacing = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Set word spacing (Tw operator).
|
||||||
|
pub fn set_word_spacing(&mut self, value: f64) {
|
||||||
|
self.word_spacing = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Set horizontal scaling (Tz operator).
|
||||||
|
pub fn set_horiz_scaling(&mut self, value: f64) {
|
||||||
|
self.horiz_scaling = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Set leading (TL operator).
|
||||||
|
pub fn set_leading(&mut self, value: f64) {
|
||||||
|
self.leading = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Set text rise (Ts operator).
|
||||||
|
pub fn set_text_rise(&mut self, value: f64) {
|
||||||
|
self.text_rise = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Set text rendering mode (Tr operator).
|
||||||
|
pub fn set_text_rendering_mode(&mut self, mode: TextRenderingMode) {
|
||||||
|
self.text_rendering_mode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Bind font (Tf operator).
|
||||||
|
pub fn set_font(&mut self, font: Arc<Font>, size: f64) {
|
||||||
|
self.font = Some(font);
|
||||||
|
self.font_size = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Move text position (Td operator).
|
||||||
|
///
|
||||||
|
/// Sets text_line_matrix = translate(tx, ty) * text_line_matrix,
|
||||||
|
/// then copies text_line_matrix to text_matrix.
|
||||||
|
pub fn move_text(&mut self, tx: f64, ty: f64) {
|
||||||
|
let translation = Matrix3x3::translate(tx, ty);
|
||||||
|
self.text_line_matrix = translation.multiply(&self.text_line_matrix);
|
||||||
|
self.text_matrix = self.text_line_matrix;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Move text position and set leading (TD operator).
|
||||||
|
///
|
||||||
|
/// Same as Td, but also sets leading = -ty.
|
||||||
|
pub fn move_text_set_leading(&mut self, tx: f64, ty: f64) {
|
||||||
|
self.leading = -ty;
|
||||||
|
self.move_text(tx, ty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Set text matrix (Tm operator).
|
||||||
|
///
|
||||||
|
/// Sets both text_matrix and text_line_matrix to the given matrix.
|
||||||
|
pub fn set_text_matrix(&mut self, matrix: &Matrix3x3) {
|
||||||
|
self.text_matrix = *matrix;
|
||||||
|
self.text_line_matrix = *matrix;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Move to next line (T* operator).
|
||||||
|
///
|
||||||
|
/// Equivalent to Td 0 -leading.
|
||||||
|
pub fn next_line(&mut self) {
|
||||||
|
self.move_text(0.0, -self.leading);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Set fill color (rg, k, g operators).
|
||||||
|
pub fn set_fill_color(&mut self, color: Color) {
|
||||||
|
self.fill_color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Set stroke color (RG, K, G operators).
|
||||||
|
pub fn set_stroke_color(&mut self, color: Color) {
|
||||||
|
self.stroke_color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Concatenate matrix to CTM (cm operator).
|
||||||
|
pub fn concat_ctm(&mut self, matrix: &Matrix3x3) {
|
||||||
|
self.ctm = matrix.multiply(&self.ctm);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the effective text matrix.
|
||||||
|
///
|
||||||
|
/// Returns CTM * text_matrix, which is used to transform glyph coordinates.
|
||||||
|
pub fn text_transform(&self) -> Matrix3x3 {
|
||||||
|
self.ctm.multiply(&self.text_matrix)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get horizontal scaling factor.
|
||||||
|
///
|
||||||
|
/// Returns horiz_scaling / 100 as a multiplier.
|
||||||
|
pub fn horiz_scale_factor(&self) -> f64 {
|
||||||
|
self.horiz_scaling / 100.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for GraphicsState {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self::new()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_default_state() {
|
||||||
|
let state = GraphicsState::new();
|
||||||
|
assert!(state.ctm.is_identity());
|
||||||
|
assert!(state.text_matrix.is_identity());
|
||||||
|
assert!(state.text_line_matrix.is_identity());
|
||||||
|
assert!(state.font.is_none());
|
||||||
|
assert_eq!(state.font_size, 0.0);
|
||||||
|
assert_eq!(state.char_spacing, 0.0);
|
||||||
|
assert_eq!(state.word_spacing, 0.0);
|
||||||
|
assert_eq!(state.horiz_scaling, 100.0);
|
||||||
|
assert_eq!(state.leading, 0.0);
|
||||||
|
assert_eq!(state.text_rise, 0.0);
|
||||||
|
assert_eq!(state.text_rendering_mode, TextRenderingMode::Fill);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_begin_text() {
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
state.text_matrix = Matrix3x3::translate(10.0, 20.0);
|
||||||
|
state.text_line_matrix = Matrix3x3::translate(30.0, 40.0);
|
||||||
|
state.begin_text();
|
||||||
|
assert!(state.text_matrix.is_identity());
|
||||||
|
assert!(state.text_line_matrix.is_identity());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_end_text() {
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
state.text_matrix = Matrix3x3::translate(10.0, 20.0);
|
||||||
|
state.text_line_matrix = Matrix3x3::translate(30.0, 40.0);
|
||||||
|
state.end_text();
|
||||||
|
assert!(state.text_matrix.is_identity());
|
||||||
|
assert!(state.text_line_matrix.is_identity());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_text_rendering_mode_from_u8() {
|
||||||
|
assert_eq!(
|
||||||
|
TextRenderingMode::from_u8(0),
|
||||||
|
TextRenderingMode::Fill
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
TextRenderingMode::from_u8(3),
|
||||||
|
TextRenderingMode::Invisible
|
||||||
|
);
|
||||||
|
assert_eq!(TextRenderingMode::from_u8(10), TextRenderingMode::Clip);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_move_text() {
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
state.move_text(100.0, 200.0);
|
||||||
|
let (x, y) = state.text_matrix.transform_point(0.0, 0.0);
|
||||||
|
assert!((x - 100.0).abs() < f64::EPSILON);
|
||||||
|
assert!((y - 200.0).abs() < f64::EPSILON);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_td_chain() {
|
||||||
|
// BT 100 200 Td 50 0 Td ET should yield translation (150, 200)
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
state.begin_text();
|
||||||
|
state.move_text(100.0, 200.0);
|
||||||
|
state.move_text(50.0, 0.0);
|
||||||
|
let (x, y) = state.text_matrix.transform_point(0.0, 0.0);
|
||||||
|
assert!((x - 150.0).abs() < f64::EPSILON);
|
||||||
|
assert!((y - 200.0).abs() < f64::EPSILON);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_move_text_set_leading() {
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
state.move_text_set_leading(10.0, -15.0);
|
||||||
|
assert!((state.leading - 15.0).abs() < f64::EPSILON);
|
||||||
|
let (x, y) = state.text_matrix.transform_point(0.0, 0.0);
|
||||||
|
assert!((x - 10.0).abs() < f64::EPSILON);
|
||||||
|
assert!((y - (-15.0)).abs() < f64::EPSILON);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_next_line() {
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
state.set_leading(15.0);
|
||||||
|
state.next_line();
|
||||||
|
let (x, y) = state.text_matrix.transform_point(0.0, 0.0);
|
||||||
|
assert!((x - 0.0).abs() < f64::EPSILON);
|
||||||
|
assert!((y - (-15.0)).abs() < f64::EPSILON);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_set_text_matrix() {
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
let m = Matrix3x3::translate(100.0, 200.0);
|
||||||
|
state.set_text_matrix(&m);
|
||||||
|
assert_eq!(state.text_matrix, m);
|
||||||
|
assert_eq!(state.text_line_matrix, m);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_horiz_scale_factor() {
|
||||||
|
let state = GraphicsState::new();
|
||||||
|
assert!((state.horiz_scale_factor() - 1.0).abs() < f64::EPSILON);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_concat_ctm() {
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
let m = Matrix3x3::scale(2.0, 3.0);
|
||||||
|
state.concat_ctm(&m);
|
||||||
|
assert_eq!(state.ctm, m);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_text_transform() {
|
||||||
|
let mut state = GraphicsState::new();
|
||||||
|
state.ctm = Matrix3x3::scale(2.0, 3.0);
|
||||||
|
state.text_matrix = Matrix3x3::translate(10.0, 20.0);
|
||||||
|
let tx = state.text_transform();
|
||||||
|
let (x, y) = tx.transform_point(0.0, 0.0);
|
||||||
|
assert!((x - 20.0).abs() < f64::EPSILON);
|
||||||
|
assert!((y - 60.0).abs() < f64::EPSILON);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_invisible_rendering_mode() {
|
||||||
|
assert!(TextRenderingMode::Invisible.is_invisible());
|
||||||
|
assert!(!TextRenderingMode::Fill.is_invisible());
|
||||||
|
}
|
||||||
|
}
|
||||||
15
src/lib.rs
Normal file
15
src/lib.rs
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
//! pdftract — PDF text extraction library that gets the hard parts right.
|
||||||
|
//!
|
||||||
|
//! This library provides correct reading order, font encoding recovery,
|
||||||
|
//! structure tree extraction, and per-page hybrid routing.
|
||||||
|
|
||||||
|
pub mod graphics_state;
|
||||||
|
|
||||||
|
pub use graphics_state::{
|
||||||
|
Color,
|
||||||
|
Diagnostic,
|
||||||
|
GraphicsState,
|
||||||
|
GraphicsStateStack,
|
||||||
|
Matrix3x3,
|
||||||
|
Severity,
|
||||||
|
};
|
||||||
201
tests/fixtures/classifier/MANIFEST.tsv
vendored
Normal file
201
tests/fixtures/classifier/MANIFEST.tsv
vendored
Normal file
|
|
@ -0,0 +1,201 @@
|
||||||
|
path expected_document_type source_url license
|
||||||
|
invoice/01.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/02.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/03.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/04.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/05.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/06.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/07.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/08.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/09.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/10.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/11.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/12.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/13.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/14.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/15.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/16.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/17.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/18.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/19.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/20.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/21.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/22.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/23.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/24.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/25.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/26.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/27.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/28.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/29.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/30.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/31.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/32.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/33.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/34.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/35.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/36.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/37.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/38.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/39.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/40.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/41.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/42.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/43.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/44.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/45.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/46.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/47.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/48.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/49.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
invoice/50.pdf invoice Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/01.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/02.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/03.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/04.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/05.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/06.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/07.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/08.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/09.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/10.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/11.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/12.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/13.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/14.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/15.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/16.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/17.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/18.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/19.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/20.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/21.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/22.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/23.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/24.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/25.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/26.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/27.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/28.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/29.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/30.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/31.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/32.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/33.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/34.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/35.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/36.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/37.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/38.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/39.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/40.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/41.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/42.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/43.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/44.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/45.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/46.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/47.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/48.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/49.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
scientific_paper/50.pdf scientific_paper Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/01.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/02.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/03.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/04.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/05.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/06.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/07.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/08.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/09.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/10.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/11.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/12.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/13.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/14.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/15.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/16.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/17.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/18.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/19.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/20.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/21.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/22.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/23.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/24.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/25.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/26.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/27.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/28.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/29.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/30.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/31.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/32.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/33.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/34.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/35.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/36.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/37.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/38.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/39.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/40.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/41.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/42.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/43.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/44.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/45.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/46.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/47.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/48.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/49.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
contract/50.pdf contract Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/01.pdf receipt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/02.pdf receipt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/03.pdf receipt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/04.pdf receipt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/05.pdf receipt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/06.pdf receipt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/07.pdf receipt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/08.pdf receipt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/09.pdf form Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/10.pdf form Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/11.pdf form Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/12.pdf form Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/13.pdf form Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/14.pdf form Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/15.pdf form Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/16.pdf form Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/17.pdf bank_statement Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/18.pdf bank_statement Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/19.pdf bank_statement Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/20.pdf bank_statement Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/21.pdf bank_statement Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/22.pdf bank_statement Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/23.pdf bank_statement Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/24.pdf slide_deck Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/25.pdf slide_deck Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/26.pdf slide_deck Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/27.pdf slide_deck Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/28.pdf slide_deck Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/29.pdf slide_deck Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/30.pdf slide_deck Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/31.pdf legal_filing Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/32.pdf legal_filing Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/33.pdf legal_filing Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/34.pdf legal_filing Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/35.pdf legal_filing Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/36.pdf legal_filing Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/37.pdf legal_filing Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/38.pdf book_excerpt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/39.pdf book_excerpt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/40.pdf book_excerpt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/41.pdf book_excerpt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/42.pdf book_excerpt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/43.pdf book_excerpt Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/44.pdf magazine Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/45.pdf magazine Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/46.pdf magazine Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/47.pdf magazine Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/48.pdf magazine Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/49.pdf magazine Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
misc/50.pdf magazine Synthetic test data generated by scripts/generate_test_corpus.py MIT-0
|
||||||
|
143
tests/fixtures/classifier/README.md
vendored
Normal file
143
tests/fixtures/classifier/README.md
vendored
Normal file
|
|
@ -0,0 +1,143 @@
|
||||||
|
# Classifier Corpus
|
||||||
|
|
||||||
|
A 200-document labeled corpus for validating the pdftract document type classifier.
|
||||||
|
|
||||||
|
## Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
classifier/
|
||||||
|
├── invoice/ # 50 invoice PDFs
|
||||||
|
├── scientific_paper/ # 50 scientific paper PDFs
|
||||||
|
├── contract/ # 50 contract PDFs
|
||||||
|
├── misc/ # 50 misc PDFs
|
||||||
|
│ ├── receipt/ # 8 receipts (01-08)
|
||||||
|
│ ├── form/ # 8 forms (09-16)
|
||||||
|
│ ├── bank_statement/ # 7 bank statements (17-23)
|
||||||
|
│ ├── slide_deck/ # 7 slide decks (24-30)
|
||||||
|
│ ├── legal_filing/ # 7 legal filings (31-37)
|
||||||
|
│ ├── book_excerpt/ # 6 book excerpts (38-43)
|
||||||
|
│ └── magazine/ # 7 magazines (44-50)
|
||||||
|
└── MANIFEST.tsv # Expected classifications and metadata
|
||||||
|
```
|
||||||
|
|
||||||
|
## MANIFEST.tsv Format
|
||||||
|
|
||||||
|
```
|
||||||
|
path expected_document_type source_url license
|
||||||
|
invoice/01.pdf invoice Synthetic test data... MIT-0
|
||||||
|
```
|
||||||
|
|
||||||
|
- `path`: Relative path to the PDF file
|
||||||
|
- `expected_document_type`: The correct classification for the document
|
||||||
|
- `source_url`: Origin of the document (synthetic generation script)
|
||||||
|
- `license`: Document license (MIT-0 for all synthetic test data)
|
||||||
|
|
||||||
|
## Generating the Corpus
|
||||||
|
|
||||||
|
The corpus is generated by `scripts/generate_test_corpus.py`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 scripts/generate_test_corpus.py
|
||||||
|
```
|
||||||
|
|
||||||
|
This creates:
|
||||||
|
- 200 synthetic PDF documents with appropriate content for each type
|
||||||
|
- MANIFEST.tsv with expected classifications
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
The corpus is validated by `tests/classifier/test_corpus.rs`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo test --test classifier
|
||||||
|
```
|
||||||
|
|
||||||
|
### Acceptance Criteria
|
||||||
|
|
||||||
|
From plan.md Phase 5.6:
|
||||||
|
|
||||||
|
- Per-class precision and recall >= 0.85
|
||||||
|
- Macro-F1 >= 0.88
|
||||||
|
- Reproducibility: classifying the same document twice produces identical output
|
||||||
|
|
||||||
|
## Document Types
|
||||||
|
|
||||||
|
### invoice
|
||||||
|
Commercial invoices with:
|
||||||
|
- "INVOICE" header
|
||||||
|
- Bill-to/ship-to sections
|
||||||
|
- Item tables with quantity, unit price, amount
|
||||||
|
- Subtotal, tax, total due
|
||||||
|
|
||||||
|
### scientific_paper
|
||||||
|
Academic papers with:
|
||||||
|
- Title and abstract
|
||||||
|
- Section headers (Introduction, Methods, Results, Discussion, Conclusion)
|
||||||
|
- References section
|
||||||
|
- arXiv-style identifiers
|
||||||
|
|
||||||
|
### contract
|
||||||
|
Legal agreements with:
|
||||||
|
- "AGREEMENT" header
|
||||||
|
- Parties clause
|
||||||
|
- Numbered sections/clauses
|
||||||
|
- Legal terminology (shall, whereby, hereby)
|
||||||
|
- Signature blocks
|
||||||
|
|
||||||
|
### misc subtypes
|
||||||
|
|
||||||
|
#### receipt (01-08)
|
||||||
|
Simple receipts with:
|
||||||
|
- "RECEIPT" header
|
||||||
|
- Received from, amount, date
|
||||||
|
- Payment method
|
||||||
|
- Authorization signature
|
||||||
|
|
||||||
|
#### form (09-16)
|
||||||
|
Application forms with:
|
||||||
|
- "FORM" or "APPLICATION" header
|
||||||
|
- Field labels with underline blanks
|
||||||
|
- Signature line
|
||||||
|
|
||||||
|
#### bank_statement (17-23)
|
||||||
|
Monthly statements with:
|
||||||
|
- "STATEMENT" header
|
||||||
|
- Account number, statement period
|
||||||
|
- Transaction table (date, description, withdrawal, deposit, balance)
|
||||||
|
|
||||||
|
#### slide_deck (24-30)
|
||||||
|
Presentation slides with:
|
||||||
|
- Title slide
|
||||||
|
- Agenda/outline
|
||||||
|
- Bullet points
|
||||||
|
|
||||||
|
#### legal_filing (31-37)
|
||||||
|
Court documents with:
|
||||||
|
- Court header
|
||||||
|
- Case number
|
||||||
|
- Plaintiff/defendant
|
||||||
|
- Numbered counts/claims
|
||||||
|
|
||||||
|
#### book_excerpt (38-43)
|
||||||
|
Book chapters with:
|
||||||
|
- Chapter header
|
||||||
|
- Narrative text with paragraphs
|
||||||
|
|
||||||
|
#### magazine (44-50)
|
||||||
|
Magazine articles with:
|
||||||
|
- Issue/volume header
|
||||||
|
- Feature story
|
||||||
|
- Table of contents
|
||||||
|
|
||||||
|
## Provenance
|
||||||
|
|
||||||
|
All documents are synthetic test data generated by `scripts/generate_test_corpus.py`.
|
||||||
|
No personally-identifiable information (PII) is included.
|
||||||
|
All data is licensed under MIT-0 (no attribution required).
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- The corpus is for **validation only**, not training (the classifier is rule-based)
|
||||||
|
- Each document is < 5 KB to keep the repo size manageable
|
||||||
|
- Total corpus size: ~0.4 MB
|
||||||
|
- The corpus should not be used as training data for ML-based classifiers
|
||||||
74
tests/fixtures/classifier/contract/01.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/01.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c50LF^B^2rrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!"55\ao~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<cdb267fde8669563ff56ccdaa5d10ba8><cdb267fde8669563ff56ccdaa5d10ba8>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/02.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/02.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c50LF^Kd3rrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!#(M\b5~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<fd9c0e99616e8ee6763000b1cdfbc8ca><fd9c0e99616e8ee6763000b1cdfbc8ca>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/03.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/03.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c50Loj39]rrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!#pe\bQ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<11fd73ad0ad7e766060051e4eb1dbd29><11fd73ad0ad7e766060051e4eb1dbd29>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/04.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/04.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c50Loj<?^rrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!$d(\bl~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<51a3fc96974c1448e4d8bc0d73435110><51a3fc96974c1448e4d8bc0d73435110>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/05.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/05.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2UD24Rd_(b5`nZ)Xi32TQS`iaVo5PS6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNf!A57;]6:u0JM"_.M%=D2#s5Eh/i\F<O,1F*G?TfrMf/s(KX4f:I7Qj7`&H-j\P4F;*7uoPT6EgCJQekYEIu7d&J/YU8Zf:'6[EkU,PIC#3d;+rrWgY]T^Lhh99\&d<$H[WP46`^K?1ORfh0aJj6B(o*9&?bH-)n;a0X7Niq2a\n.>TYMD%4c>sVLY[042&YfJYV,-*S;PgGjlR.I'+HoWNq(jQs\^rDsa+d39rY;[Hih5fg0/@^:/71=`bD;q%+UI#f4WQabiAr.$iccQ^p!MN6]%Y7[1rWRD!*QjCe]ul36em'dW<SH`f9kA*Bn2aW[DX.PLn!07J%<5b?IM<>3g7U&!Q:u5ode8H)LL?t99AYcVWtJLtKhB3UB1g(,&_PSt8(.h@bQ5$P`\G@DG?/kT,lAg"c0GrYh;-p8P?H,X]1MI%go*STc-\#&D>.p'1+YFX:igKPld_[3Q[RP6;+R4s^V4,@\PB>I'Vt7YAO$&=i.\N?9<rr!`0K2f8X(*9)LcK(=SjCVK*#S;^a%KZCK7L%i2G$='/GTk[&@O(I/Ko`8co.T1qlXJP_dqN[]]%jC+)J.(RAs&d2WCF.##Yf^_(U(1g+I#!RJ(!l-PI(e"Dr89fiPRB;C_%H--TP%O_okHI[mNU8Mr1Q9q$hf\e!5M:6BImfoDc2"l6&k3`4Bf6$)8^s1\&17b5))]6WQHZSqo%dM=$7KK*\(To#5JA]tUX2m2BP[gn,>!I=sV_7KXiBm[D&#Sgp5JGJ$$2kA$'n>k*XbD5TkSZbBFFrM3F)$]`8][gc+,N!c6kfK32G"hhNB.K@`3ShI"jC9dE@H`r,<oNT+aF+E6OeG>%k)d@O4=Z<6R4Ye""S[_c2~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<f91412074ce0d519829ebf9598e1cc16><f91412074ce0d519829ebf9598e1cc16>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/06.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/06.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c50L%:4[trrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!&JX\cN~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<7d71f570054d208b8b75cc9f4b7930d2><7d71f570054d208b8b75cc9f4b7930d2>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/07.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/07.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 952
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`?n,r`e?!We;ofL"9n\^3)PZd</X9O.UGLQpjG9iEJ0!g=hc]UAM+C]VMAA\RaKi%fq'f+qIHA4s.3i^,PS3'/kl2HZR(%uJ!W[lOfP`]&UQKX4fDI7V@46oWRS^5^V.*3rq5IGQ,U"DX%T`plAg7mNki>q*m9"j,9uN3f^P;ZAVAr?!_oKt<>B=VB'[V@o?@PQYo2+,-l.SukB_1G3$&c67LsS<pldn9B,f>F[mK"!5<d>k/&S9%C]qW0a/X*#;4f-s36P,DB%.JiPLLc'Mp,LQVOsGUE-3$`mOiH*uUUmp=Qu@_j@LCSD.-CE6cS)](h>9<-c0DO:-[%'87**>.";D\;2$*F;"cmnn8HRh[F\=ED$SASJ0n[$>K9_4+\e\Z$[h^K4ks'LY<f]:h`.@"R)8Z?U[WPd]l_4bAfF06p2SY=i,o([;?>MFdtQ>$tY9*).r`B+C:LA/mBVEG*f1:;ZZqB3pA/q!Ri>:1mFignfXeZ,7W^1In>Cg[<mnAQWu;T]&LA=0"[p/r-`V_LPajIpL;_]hY_L'I;'OaaO^o^^4Zb(:/CB`22128X'WF%6l0?XSid<5lk(2n-Cr0>1RI<3,5h>KXBd,&p6&k+#iP@dYP[aM(Xu&-0"QlXfqW""q&3/_U*-URcC%PV,5eI3'sdU->OqDn6E@^*SPLP)O(lHD+CesN$S@`VsM4eJRX2,Q^oNNH3smb.4X-a)gm;nEVaOAh;G>KKtT[7\NRgX[2nKF\@HsBVeM=N^a/b?R(MDN:iA6N$Lh$0E*8k93./-=$FV[a*.&^TqD"@"[>E?>*tZeI0R`]qnU:C;i:^ifpnRj.-.K7fcY2%D'-qLedjU_]U3bPlOlumN1r55b;e8:g;1/sI/Gj<^_!EojS!),[o(0g4P2jqQeB"KdJ251==RD227"UUe4).%-~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<0b31c43ef73df74d48223a49f5ae9b7e><0b31c43ef73df74d48223a49f5ae9b7e>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1944
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/08.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/08.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c50L%:=aurrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!(13\d/~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<08ab0157c79a80b126739ba50da1f1d5><08ab0157c79a80b126739ba50da1f1d5>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/09.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/09.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c50LNF%7JrrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!)$K\dJ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<e2fa1e39e43c8dd9632f0d1ebc0c0b09><e2fa1e39e43c8dd9632f0d1ebc0c0b09>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/10.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/10.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c52"6XPJVrrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!"58]ao~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<2234bbcfe1b56f34e9005d5aad82771c><2234bbcfe1b56f34e9005d5aad82771c>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/11.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/11.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSY59-]q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!#(P]b5~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<dc103b6b00cbdbb804d66727b40f02f1><dc103b6b00cbdbb804d66727b40f02f1>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/12.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/12.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSY4ijYq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!#ph]bQ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<c0fc69f8e5a55f685042ad330ba84262><c0fc69f8e5a55f685042ad330ba84262>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/13.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/13.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSY5]Eaq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!$d+]bl~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<c4aa7b670c6eca1bc20c6fc919dfa9ed><c4aa7b670c6eca1bc20c6fc919dfa9ed>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/14.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/14.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSDX\Rgq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!%WC]c2~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<4765d903eb17e12cb811fe9eda1c264e><4765d903eb17e12cb811fe9eda1c264e>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/15.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/15.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c52"1O'AkrWgY]T^Lhh99\&d<$H[WP46`^K?1ORfh0gL'C&"u!obRR6m5/3O(YB&`TcDCi$&"EPZWGeFToF4C'f24@)97$SC\Z;8noqMR#AW2HoWNq(jQs\^rDsaJX6a,Y;ZOOh5fg0/qegR71=`bD;q%+UKe^PBpmYpbn;+]Ss:8i"%&LD*<N@Ar<qg!4-UcUHH#Iqej:r=<S6Td9kA*BLcSITDX.PLn!0D9%<5b?IM<>3g7U&!Q:u5ode8H)LL?t99AYcVWWH8cKrTfok"<OV&_PSt6ds3K=TE%=9ONSYm]>^18bb[$Rb&c<]">XO-F9)9GE^n*\5A%2R\Nl5Dte-)1+WT$:^_-=ld_[3Q[RP6;+R4s^V4,@\PB>I'Vt7YAO$&=i.\N?96dm3i_".D,RTR&L*)lbep`J/TE%*@GQaLSXfAdl!]A\@6H4"MbGsp"NutbsBg?'r`g>qF'(NQ\f%'^t%CtP@C$@Mnc#HS$6>C<<*$Np'P;S[7GV0r+%dhn1%8)K3Zt%I)7QU@,VqfYdJ.d^8=03kSH3smb+\U8p)gm;nEVaP<h;Be6NP428\N@UT2'"\&E-(c89IK)c#0-3-hV:8tK6jl7;1PS07Aph6^u9'fQ1KtUjk/mderS\KWCslnplL$jKB^#JO72[a6GGm7`?5%cCT3p`HH+;iSY/C2S6FrpP3(0\O2N"lU.K>]Rn=V$NB.K@^p<DE3QteCE@H`r,<oNT+aF+E6OeG>%k)d@O4=Z<6R4Ye"#G!`cN~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<3f8d631b4165be33f8d493f51788fd52><3f8d631b4165be33f8d493f51788fd52>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/16.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/16.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSDYP-oq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!'=s]ci~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<809451527efe6e2788d3818db0ca6700><809451527efe6e2788d3818db0ca6700>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/17.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/17.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`?n,r`e?!We;ofL"9n\]?NHZ]HSf@cI7Q4/=,TBpqA>(RPp4k0:Ot@ga^!/G!.H!1+RN]=,M\+^9Q[&f7h[`7^"#\&%XZIRri(^=>OE2SLVN'qEP.ksI4d+hF)]nSOe.kE,Xom.1\n,>a$b2NASW3W^LbCS>9F-qLKn@%;YAeFHt!g&D)Z>,_=3RO.LjD^qHk9M+a9ohjqAle..S0Os[-(C[#ca]QN8K#b4Hh;\(s*:OO=@Zi<n$WTRN5eR<.@^*ogK/.?ZCa<)>$(/')hL%=1F;W[AM.^;D[ucLOSlZkcp[2Vk_A>n_\0dY0^XhrJ\T,_K[6t_kEP'/EA74LgmYK4JH](-:lL4l/IZLcZhQ6:RKJet:>#qL]9j?9T(9Ar1T:>[Cr-QEG>X:32\f5sK"t$9C+H*/,6YX/]cm'ClpQE#HMn6b?HD)*.;n5kHV$5HC0@7(24>Xe>+CgdIKfc>IE"]<L3qGB8`cnodEB9#`j=VICN#hU_SN/_7o'P:.>)"=j#o]ZtFgX8pi,U5m-Obg]qUa9ae*H'%7mRb^P3hAY"It#9?u]MSOLS9E/r;'u:;`,a!,K?fCf#YpjELfsD_::_j:!p"@RAdg\`1"6S<"V46YSqrP!kYYLD"V'dFQqJ;Ze>lkM4F$1Rd?si"]>G"?8`N[3k400Ap!?3ZZpoE#OrR]5:'Am>N=hOJhH\mX\i-V3d`$'m^2l@)[ifLCHGaQoP&Qc#3$->%+TFAT!R5FDXPE"E*WKib=jW2_^*&&*E:>4k,tGN<25m02)^P!/Ia9<gdmM.*#Z7[!iE1:Mo*u_?U3c+&(SjIsdm''t?E\/,nc47WJ+&cnh-!mKCX8k;3OD',OHV58&B0MoOGtC_A&t)V+ST_QrVG--T[/Ypg!m,<oNT+ZUV"6]G@I%k)L8O4=`>6R4Ye"%-Q`d/~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<1acb5cf35ee47eb53302995a7ef4fd5b><1acb5cf35ee47eb53302995a7ef4fd5b>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/18.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/18.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSDY+jkq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!)$N]dJ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<3e2ba8cea07321921e7b6403a87c5508><3e2ba8cea07321921e7b6403a87c5508>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/19.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/19.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSDYtEsq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!)lf]df~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<822f272f5f301799a261a18d09ed0848><822f272f5f301799a261a18d09ed0848>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/20.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/20.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c52"94*=^rrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!#(S^b5~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<005a9d0e5c823a43cf69ad8b24ac96f1><005a9d0e5c823a43cf69ad8b24ac96f1>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/21.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/21.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuST)0GMq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!#pk^bQ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<381c94e363436865292dd54f22735ff4><381c94e363436865292dd54f22735ff4>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/22.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/22.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2U?Bk1uU$NJ0L81g5'SY059]L:Pi"1L9CQ*f1sa)`gDASU"Zct4nkOhD]PMGEpS!V!aMVlmFhSr6+R3>,9EXjLsm$LcbT)<IRr+?he=6g%,VcI'$b+ZoH>*k&D^%?pbn_>kE,[po^`P!,>a<j2NAk?-3>BN.]HF6CIkT\@$H,:Pd/hJlp"lQ"*G\[dj1O`9dR05.1+kD4pX;u4^Em_AmE$*S3uqE3%qhln9B,f>F[mK"!5<d>k%t'W@Q&)W0X)X*#=t):h6tgN=oE9$$0EPRkMg8%O2KOinN,W/S&mQkOjSi]mEbmL]pj6We_hFX\F1aDH$m//WmSlgaqt=kukQJ2^#KLhBC7'g:r/SfV.Yff;ku$@*R6-;PgKjh,Lh;"g;tnk-f^Ms'CPmck,lHmY*iuJITa-V"+)c05YVEF9kqD^#TXu]IIoT?Do-nFJ^m")1bN\F#:"\cQ"W#83(9aim+RlSV/pIXa+1RUV#:XGVY3*jDNC-)&@BdXZ9PgZL-LC7YW3Z$#6UPFhKi#i3G"_2[kMkpt%=g-eHHTNe/Mp-gAsk$+L$'^u?nP+`X?fD%^E7SVA5U!7lUUfq8=J+n,aqhca#q,rfYH`Is311+b!/4!-+lLXL^g3/K8O%jg4YUTLToV]#o)c%W"KA2M=m+\JH5$#kQ&)bnnO=MV7ZF?6d=mkcF=XD(2>l&90D+]#@nF[34Id]6E5&j:pNYS>OX_Zh2k9UpRdH8kV0V6SYL11p\??.4p'!]P<6nT9pfDI=H4n'0[24/b*-)[1Jd?FZ/s!"N@GX<QEO;3&>MC&R6iShf:`_?U3;+&(SjIsdm''6kPO/,nc4=pt;1d5-NcklesEkL:EJPE8SP58&%QLaMoECm$[Z)Kk72M.PQr$CJLR_C,`h,<oNT+h9em6Oc0S%k)d@O4=Z<6R4Ye"!`Iabl~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<9deec21195cac54ec18b6b1c049d0ea7><9deec21195cac54ec18b6b1c049d0ea7>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/23.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/23.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2U?Bk1uU$NJ0L81>)R51059]L:\gq/6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNb!%p9Z]6:tu^mEu(_ui2XR%N#Z#**Wr6c/Qo:(&depnkh731In9LL_)dF>Jp:gN^T]Jc>fNH&%%bW'u"O`t'1(!KfiOWE#C$8?ORQ`4o3mgt,s#5@@4gFWX>''$pQS'&(Nn"E.TgKV#m&=0dRK:bOR;&3VHc$;kP_4?M@N:*7d_&)f18_uaJK.nFHSQCq:\(9&(2VmV8=P$3bVjs$ue?]GF57NR<&\$>+#8BV1.f,K;8mT&p((IGs:,)/@l2Y#&&;(`<cUs/2cAr.$iccQ^0!MN6]%Y7[1rWQiM%V8/C?DVoWCS@&Z.Vs7mVQr'17%Gbe\+PCKpI``-L8ZbJ0D#P[Cf!TOa4&eW[(Tnp+^""'OuMI.Wk]?qTdjKJ;l/Hq#]/duTkS*6/-*!Y/hk0EG?/kT,eP:7c0GuZh;-r.P?Ghf]1MI%=P+e)k%GK#[sL%O)3t=MW.d.Zp$,A*bJ*?!0Ha-N?dGsK>UNT4$Bf(mn=P+BE!+gF`G)bIi_".D,`39t%6l`OXSid<5loD=iXp"@[AqeM$IiaI#oUd[>#o5'I(Z[(8co.T,e?Z5P_e(R[]]%jC<0sIQ^2NQd2WCF/>U94^_(U(1g-_s!RG>Pe"Ie/Va2b?9fr2GB-`ZOH&;d,",\Cj?F?LAkU@L%Ke,q_D"&%V`9Fb5GD!*#2"l6&k%oRECH?K,i9'GNSkbHj%?.(N]t(am#PD\MUB"*?Mbk]LJA]tU.o/*IP[gn,>!I=sVi8-Fn,WR=#Ldns+5c8M"C?lWMEgsPel"_JoSfJ\3^JVB3OQlk,g3+A+,N!c7$HVD2O-0')Kk72JS!^jEgXNe_C,`h,<oNT+h9em6Oc0S%k)d@O4=Z<6R4Ye""Saac2~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<16fc9ab041fa1d5e3a16be2d55c29d43><16fc9ab041fa1d5e3a16be2d55c29d43>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/24.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/24.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2U?Bk1uU$NJ0L81g5'SY05g&Q:\gq/6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNb!%q4FG3sgt+C0TZ&J*;E`9E-7BAiQ.59t'[n$EWnL2RE5!GA``qN-YFLi0)0HlGl0F%CdHqK[jL&ZA-E)oiI0'*44b<N-_Z1aH-=0M9)Xb.Q>6lp"lQ"*G\[dj1O`9dR05.1+kD4pX;u4^H/JAjX2P9L/6GKIB6fiUQ8V[lAdu#<[[SKG"ZSV65@#:b=u:">%%uORlYn7S0^N$$251RkMg8%O2KOinN,W/b!e3kOh=&]mEbmaG!GEWe_hFX\F1aDNmd]/L`LQ\67fYd^*rrDa8!"]gJG-[=851YX@(UY?*j4@4g!7;MD5Jh,Lh;Kr?dRkI,gNs'EgXe.D;LmY*iuJITa-V"+)c05YVEF9kqD^#TXuX=A1C?DpJ`Bs'9t)1bN\1Gl3bT*8VGO:'49^n"K]3sfgr>4]<.7X)?9nRNE3ak`b:1+_dR>'%%XnEo(,7Y[a)$#6.CFhKi#i3G"_2[kMkpt%=g-eHHTNe/Mp-gAsk$+L$'^g`n;OLW`n2Mm#qVr>ZCJ@/`n2CJRO,p'nb>H;M@Ud0pJR#l;-f<QlQkMq9`:`9l^-dcMrTg[[RZupNk<'r;6>["^57WTO`ZB,uo!(Y,<d:CM`!hRS)VaEQ>:4lH]RWe=mc:B9(ne;I6#8Bf^]kTtbcr2n($X&pIf\e!5M:6BImfm-%C$bN,bh2thf6$)8^s1\&4Ima])]2*&HZODe%dM=$7KK*\(SOH#!/Ia4<mEXIP[gn,>!I=sVi8-Fn,WR=#Ldns+5c8M"C?lWMEgsPel"_JoSfJ\3^JVB3OQlk,g3+A+,N!c7$HVD2O-0')Kk72JS!^jEgXNe_C,`h,<oNT+h9em6Oc0S%k)d@O4=Z<6R4Ye"#G$acN~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<53b1ffb40258299153b1067981503826><53b1ffb40258299153b1067981503826>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/25.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/25.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2U?Bk1uU$NJ0L81g5'SY05g&Q:\gq/6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNb!%q4FG3sgt+C0TZ&J*;E`9E-7BAiQ.59t'[n$EWnL2RE5!GA``qN-YFLi0)0HlGl0F%CdHqK[jL&ZA-E)oiI0'*44b<N-_Z1aH-=0M9)Xap,&cfRL],#3nC@VF`oIRn@?I;\H`gI1U_uHFf7sb_1;)R=OKm#uQLV_rKG7DK5Mt%X88/#pg?093hS%Tj!%S$!;-u+Qp.eNKRJ''':CA2IDIN*C_*)`4*#7>N"TEcg-S+HhXOdOUIjj<"VKj>FYEMgaJMD>#Ju+EO3T=UhAcnhLNs"H\Xj:CB"@@@>D-5?E\UF_cj!MV$^Ft\uBKT$W1P/c>EM&rk4J9W?LP"h$\Wt!umI:8E8rO?eX?jkRaifHc[5t=]OAe]hjtJdp-Us1'3sAB4tIO4q#0m+;L8PJNKpDG7rbo[,uK;N:(TPj2iiEPIjETA6@J-[H;-;i7kr7N!r@1'%B5el?[S$_.@!IDAWq_nZQTX:Tfm3*!Jnj:=>b_'6"'-J]0`U+`X?fD%[#m:;`,e!,K?fCet,'90@gN[oV$_8V%ds0d5R:Y%:W,cGp=ITemlG:85qm6]&>/B^=s_WJ4[K\[6IJN93)JA0Efg!KN7WUWJtJ"[&-2:5=#ZSHbpD2=9TdSWQT0j=(kK%OdWFHI[mNTVl`/(:#dqYe`gH';s`rh@73)db*l6RBlp[Y3F"NJXa9,GWJDC2_^9+pZCnT*RpS'N<24B01(r&!"N@GXIO4q.*#Z7[!qWo:Dn-ki<'.Y&#Sgp5JGJ$$+pc8'n>k*XegKtkSZbBFFk-bF)$]`8X</a58&%QLaL*gCas9-2!WGC!mA;^j=kpTKM`BY7t/036?7LcLDkF0+&M[`*ig/VLIcCT#<Q`eci~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<5e07f6cb7b88666c70f0cd9559869c55><5e07f6cb7b88666c70f0cd9559869c55>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/26.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/26.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuS?MGG_q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!(19^d/~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<9dfda601a51d433ca1ef723c0f840e35><9dfda601a51d433ca1ef723c0f840e35>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/27.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/27.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)?#Q2d'RfGR\E_8kC%K+O55I`I=s9`L8l2ugI3HOC4Fr?JgFWARf*:fnFe,K%U"J#\SpSeo2`=e5ZH[Sj!F07+mFhc66FI$O,q`^ALpIc$:VlbKIRr[OhsMV7MJim.$I38RoH>*m&D^%?pbkmRF3&erp3DFH&M/S,2NAU-3W^LbCS>9F-qLKn@%;YQ/F'tSU]1A$>H%F4RO.LjD^qHkCm!Z#l_Dfaf<Z31@)h780,R)QP-KlN"cm;o]>a$p3T)(Y`?\Xf(TN5&JU.W;`F+fY#%cX>fLW.Z'/4'1^%l\BkV0:a'$nLfD]oo)4KgXOn(l1`KeJgHED89@I]_YrF5rF!C5F@_j*$7iahZ&Yg_$gFltlfpW5B!6r>oN?]NO?-$#:lS[B*&ER^TL2/6GhA4u`.eq"KZl\UnKCFZ8rK'ptYY5Sd.6LXLAETLU]amj2no(NkE^oKk-;VK/Zo8dh`d?_D,DG\2KZ6,kUr$?oOqi$;R"FQR]ON:1ZQj)c&Ja^$qe)&i3>SN/_7o'P:.>)"=j#o]ZtFgX8pi,U5m-ObgeqUa9ae*H'%7mRb^P3hAY"J!9m_;`+0+`XKi>nU.tSVA5M!7lUUfq8=jamfWphceTHaVej#`ItVYElDfK3$1*GL=1mn,`+.;%jg6-UTL`sVZobbcafb(Ai.Oo_(2[m$#kQ&CJEA??bj!]FZQnii&!!Cd'at.[PO*=6_:"Qm=A`,V3d`$'m^2l@)[ifLCHGaQoP&Qc#3$->%+TFAPP`t]!`i3!]P<6nMEtg)jj%N#BP*Z*pV#47KK+G(FB;8JAYG-X3<M7P[gn,>!E4T[jZ6"i<'.m&#Sgp5JGJ$%br,m'n>k*UUYVNkS[*!GCjA-EuKb]M2S:f+,N1S7H<`J2@1#uNTtje@G,j_&n\>(:lC"`Oe4:eO;uU#6]G@:+&M+P*ig;ZLIcCT#>8;edJ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<858cf4d459304d9a6b60add9ae8256d0><858cf4d459304d9a6b60add9ae8256d0>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/28.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/28.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2U?Bk1uU$NJ0L81>)R51059]L:\gq/6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNb!%p9Z]6:tu^mEu(_ui2XR%N#Z#**Wr6c/Qo:(&depnkh731In9LL_)dF>Jp:gN^T]Jc>fNH&%%bW'u"O`t'1(!KfiOWE#C$8?ORQ`4o3mK%FDs5@@4gFWX>''$pQS'&(Nn"E.TgKV#m&=0dRK:bOR;&3VHc$;kP_4?M@N:*7d_&)f18_uaJK.nFHSQCq:\(9&(2VmV8=P$3bVjs$ue?]GF57NR<&\$>+#8BV1.f,K;8mT&p((IGs:,)/@l2Y#&&;(`<cUs/2cAr.$iccQ^0!MN6]%Y7[1rWQiM%V8/C?DVoWCS@&Z.Vs7mVQr'17%Gbe\+PCKpI``-L8ZbJ0D#P[Cf!TOa4&eW[(Tnp+^""'OuMI.Wk]?qTdjKJ;l/Hq#]/duTkS*6/-*!Y/hk0EG?/kT,eP:7c0GuZh;-r.P?Ghf]1MI%=P+e)k%GK#[sL%O)3t=MW.d.Zp$,A*bJ*?!0Ha-N?dGsK>UNT4$Bf(mn=P+BE!+gF`G)bIi_".D,`39t%6l`OXSid<5loD=iXp"@[AqeM$IiaI#oUd[>#o5'I(Z[(8co.T,e?Z5P_e(R[]]%jC<0sIQ^2NQd2WCF/>U94^_(U(1g-_s!RG>Pe"Ie/Va2b?9fr2GB-`ZOH&;d,",\Cj?F?LAkU@L%Ke,q_D"&%V`9Fb5GD!*#2"l6&k%oRECH?K,i9'GNSkbHj%?.(N]t(am#PD\MUB"*?Mbk]LJA]tU.o/*IP[gn,>!I=sVi8-Fn,WR=#Ldns+5c8M"C?lWMEgsPel"_JoSfJ\3^JVB3OQlk,g3+A+,N!c7$HVD2O-0')Kk72JS!^jEgXNe_C,`h,<oNT+h9em6Oc0S%k)d@O4=Z<6R4Ye"&i/adf~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<e36ead57c11647708460dad7ff4f52ec><e36ead57c11647708460dad7ff4f52ec>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/29.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/29.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2U?Bk1uU$NJ0L81g5'SY05g&Q:\gq/6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNb!%q4FG3sgt+C0TZ&J*;E`9E-7BAiQ.59t'[n$EWnL2RE5!GA``qN-YFLi0)0HlGl0F%CdHqK[jL&ZA-E)oiI0'*44b<N-_Z1aH-=0M9)Xb/2b<lp"lQ"*G\[dj1O`9dR05.1+kD4pX;u4^H/JAjX2P9L/6GKIB6fiUQ8V[lAdu#<[[SKG"ZSV65@#:b=u:">%%uORlYn7S0^N$$251RkMg8%O2KOinN,W/b!e3kOh=&]mEbmaG!GEWe_hFX\F1aDNmd]/L`LQ\67fYd^*rrDa8!"]gJG-[=851YX@(UY?*j4@4g!7;MD5Jh,Lh;Kr?dRkI,gNs'EgXe.D;LmY*iuJITa-V"+)c05YVEF9kqD^#TXuX=A1C?DpJ`Bs'9t)1bN\1Gl3bT*8VGO:'49^n"K]3sfgr>4]<.7X)?9nRNE3ak`b:1+_dR>'%%XnEo(,7Y[a)$#6.CFhKi#i3G"_2[kMkpt%=g-eHHTNe/Mp-gAsk$+L$'^g`n;OLW`n2Mm#qVr>ZCJ@/`n2CJRO,p'nb>H;M@Ud0pJR#l;-f<QlQkMq9`:`9l^-dcMrTg[[RZupNk<'r;6>["^57WTO`ZB,uo!(Y,<d:CM`!hRS)VaEQ>:4lH]RWe=mc:B9(ne;I6#8Bf^]kTtbcr2n($X&pIf\e!5M:6BImfm-%C$bN,bh2thf6$)8^s1\&4Ima])]2*&HZODe%dM=$7KK*\(SOH#!/Ia4<mEXIP[gn,>!I=sVi8-Fn,WR=#Ldns+5c8M"C?lWMEgsPel"_JoSfJ\3^JVB3OQlk,g3+A+,N!c7$HVD2O-0')Kk72JS!^jEgXNe_C,`h,<oNT+h9em6Oc0S%k)d@O4=Z<6R4Ye"'\Gae,~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<5ce6f162df41afedfc70c38b038c9c1c><5ce6f162df41afedfc70c38b038c9c1c>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/30.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/30.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c52"7pgnZrrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!#pn_bQ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<11e1dc9a145638ab796d55085a0541e8><11e1dc9a145638ab796d55085a0541e8>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/31.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/31.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuS^AAhmq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!$d1_bl~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<b3b52e98c09cf5e109491ca03f056e34><b3b52e98c09cf5e109491ca03f056e34>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/32.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/32.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2U?Bk1uU$NJ0L81>)R51059]L:\gq/6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNb!%p9Z]6:tu^mEu(_ui2XR%N#Z#**Wr6c/Qo:(&depnkh731In9LL_)dF>Jp:gN^T]Jc>fNH&%%bW'u"O`t'1(!KfiOWE#C$8?ORQ`4o48ZI`LN5@@4gFWX>''$pQS'&(Nn"E.TgKV#m&=0dRK:bOR;&3VHc$;kP_4?M@N:*7d_&)f18_uaJK.nFHSQCq:\(9&(2VmV8=P$3bVjs$ue?]GF57NR<&\$>+#8BV1.f,K;8mT&p((IGs:,)/@l2Y#&&;(`<cUs/2cAr.$iccQ^0!MN6]%Y7[1rWQiM%V8/C?DVoWCS@&Z.Vs7mVQr'17%Gbe\+PCKpI``-L8ZbJ0D#P[Cf!TOa4&eW[(Tnp+^""'OuMI.Wk]?qTdjKJ;l/Hq#]/duTkS*6/-*!Y/hk0EG?/kT,eP:7c0GuZh;-r.P?Ghf]1MI%=P+e)k%GK#[sL%O)3t=MW.d.Zp$,A*bJ*?!0Ha-N?dGsK>UNT4$Bf(mn=P+BE!+gF`G)bIi_".D,`39t%6l`OXSid<5loD=iXp"@[AqeM$IiaI#oUd[>#o5'I(Z[(8co.T,e?Z5P_e(R[]]%jC<0sIQ^2NQd2WCF/>U94^_(U(1g-_s!RG>Pe"Ie/Va2b?9fr2GB-`ZOH&;d,",\Cj?F?LAkU@L%Ke,q_D"&%V`9Fb5GD!*#2"l6&k%oRECH?K,i9'GNSkbHj%?.(N]t(am#PD\MUB"*?Mbk]LJA]tU.o/*IP[gn,>!I=sVi8-Fn,WR=#Ldns+5c8M"C?lWMEgsPel"_JoSfJ\3^JVB3OQlk,g3+A+,N!c7$HVD2O-0')Kk72JS!^jEgXNe_C,`h,<oNT+h9em6Oc0S%k)d@O4=Z<6R4Ye""Sdbc2~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<228e82cafe2af1e488b918cf041772f2><228e82cafe2af1e488b918cf041772f2>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/33.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/33.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuS^Af+qq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!&Ja_cN~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<c4f56bf9080db6c4544f6aca3c89456c><c4f56bf9080db6c4544f6aca3c89456c>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/34.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/34.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSIde9"q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!'>$_ci~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<55f7a84da4f9a979be421625f9fef93d><55f7a84da4f9a979be421625f9fef93d>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/35.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/35.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c52"2g>eorWgY]T^Lhh99\&d<$H[WP46`^K?1ORfh0gL'C&"u!obRR6m5/3O(YB&`TcDCi$&"EPZWGeFToF4C'f24@)97$SC\Z;8noqMR#AW2HoWNq(jQs\^rDsaJX6a,Y;ZOOh5fg0/qegR71=`bD;q%+UKe^PBpmYpbn;+]Ss:8i"%&LD*<N@Ar<qg!4-UcUHH#Iqej:r=<S6Td9kA*BLcSITDX.PLn!0D9%<5b?IM<>3g7U&!Q:u5ode8H)LL?t99AYcVWWH8cKrTfok"<OV&_PSt6ds3K=TE%=9ONSYm]>^18bb[$Rb&c<]">XO-F9)9GE^n*\5A%2R\Nl5Dte-)1+WT$:^_-=ld_[3Q[RP6;+R4s^V4,@\PB>I'Vt7YAO$&=i.\N?96dm3i_".D,RTR&L*)lbep`J/TE%*@GQaLSXfAdl!]A\@6H4"MbGsp"NutbsBg?'r`g>qF'(NQ\f%'^t%CtP@C$@Mnc#HS$6>C<<*$Np'P;S[7GV0r+%dhn1%8)K3Zt%I)7QU@,VqfYdJ.d^8=03kSH3smb+\U8p)gm;nEVaP<h;Be6NP428\N@UT2'"\&E-(c89IK)c#0-3-hV:8tK6jl7;1PS07Aph6^u9'fQ1KtUjk/mderS\KWCslnplL$jKB^#JO72[a6GGm7`?5%cCT3p`HH+;iSY/C2S6FrpP3(0\O2N"lU.K>]Rn=V$NB.K@^p<DE3QteCE@H`r,<oNT+aF+E6OeG>%k)d@O4=Z<6R4Ye"%-Wbd/~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<dec797ba9ca38d8f3137f974334c14f3><dec797ba9ca38d8f3137f974334c14f3>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/36.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/36.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSIeXi*q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!)$T_dJ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<cc9fc3c54ca11f9b613a56ba27bf682f><cc9fc3c54ca11f9b613a56ba27bf682f>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/37.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/37.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 952
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>#q-#jJFn/+M^hURn-a+(L!\G(0V-(M<hqFOHR8PBaP#M?rH'T2tPmbD6WM@S+!um\>8W]g'6:4\cgb4*mb3=oYg)X@/FP#,0kYpmN;Q9h\OQOc=Y2j+WVpAhb96p2Tb/CcsK%&muT5TAWYcgnKV7.5brC*.EQT6l.#rrkuZ&KK@aMVJ&(Cdl9:ff1n";:,r1f='#&X>'RAh%?&8bt>eZ#a6i82i06sDPna(A,3.3mo4G:JZj9lNaWe!$(00u^"/=>EnYXZGu$DhtNF'd@c0?8_U,6nhN:$hZk=LGs9C;]Su]rYSZJkHs46kee93kdd:/qg*f<k3M20(C)&=LjPQ,$(2H9qW/BGQFA.8(eJm<id]Wc/l6sV5[5=<jmP_DfR;hVLFX)?AZ3h&.bW*76[tC'@\0jPNhI2g0P?a#Y+[(j=U2?/ocSOW%45a-5Bd"JT^p41p*^J3FI"q3G)CQcDhbPKGT`q]Ind*h<fWRc!m-uAV61dU)p9i8#H@AmbO[M=E9Y!iC[$MX$[1GLU)-!OP$[b4j?1&:9SUNV"#_,5DLTDL/nhNY^D/CV:p)aPRKV_5:-E4r=ZG&!E^N7#WCRDenZ]oC:(s5[,[MdFYu-#0C";?Lqk9q0@LFXiqB.LYPY4%$GklActtS-j.Hs[:tPn16E[^CCF0hd>dZU5g2V'MQ:7=P*W<E&dd0>mE^HZ/8d(GdG+t5b.3*l7W,t7?n.E[Yl*kMQK<M9ipA.VJc3R(pG%<krk3aC\AncDjPPG#_m]P;3^"M0h^f13KAVCKLnC>N.fZ&kjluc"fa'eJ(6ek`;OFZbOl+?tVn+4"UY=ErY+8t(FTq3!F7aoqZ+F3:C7cAG%e^NrI6m'dM$%=_#.MDlC)Yd-<flr>UB!7%N(5_r65@5BR\\>J,)L9muTZjZ(<]d)eOl5:2;cQ*3~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<f4eed4914e97dcccc7002b9c65af850d><f4eed4914e97dcccc7002b9c65af850d>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1944
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/38.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/38.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSIe4Q&q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!*`/_e,~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<7d436c10e02248fcbacbfb53a30a9e39><7d436c10e02248fcbacbfb53a30a9e39>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/39.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/39.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSIf(,.q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!+SG_eG~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<b463b4b49a44c2e2aef684c94a4599ac><b463b4b49a44c2e2aef684c94a4599ac>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/40.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/40.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`>C9=ZL3&dWHH^a@JFaG#rER"Z<.@cI7Q4/=,TBpqA>(RPp4k0:Ot@g=Er*;c9A!1+,.>s$uS^m<pR`!82TKUpbD(S&;/8&X6P4"\Ct`A[s$^tC9,5,=qVigXYFga3\X%dY"9cT<D25V:F=3'lVm#`(=;9!*?8+hbI;&c52":LAabrrI0ZW;Ch^dU`&1Q,m:/,^f4[+S+oB[ZWMlKR/cKJG;\B;2A,fj4W[7EVaniGR/d*,o.Ur>lh.&>(U&e=E#i7kI$&(P$3bVjs$ue?]GF57NP#EYd*@qi8k$dl]&],pSrP%$_^s-&OW3qS+u.$.$oZl>%[JJZc%WpBB9?sJC#WiLHmA)rrTdL%V8/C?L^.5[8>%='t-/G;qW')U<]!ng\O5,HR7iQ6en$>*sI=P2Q09!-.CV_[/FFc+^""'OuMI.Wk]?qTdjKJ\^GG."?,r!d'U*+(4b'=':<3Z40,r:')n!"k4K"=mV_KWaXh&gh5#6MDU]i;k%GLfgV')8$ql-ae3Y,>H?CXPARG.;'G@>6YA`&hY1"m@"_g(og!@A=GTlIi&tZ4e\C0+iM1T68iQ!9q[9mB$-ihR>*l6uCX(nc45`N4>ODu8lZ7:4aj%&K5)A!a`nR_Qj7(dEEF`m^`6SA1>>.REtEuYn"O;aSg8'&*cABj3;T$'U$6Tb!:K2U\em2.[NO\S+$.5u?1TL<8R<@^[mT#(M1aO9^u"s78IS:94=2u(NfA$>W<mLHIC9h,["gtY%<dn)U2JT:V$2g<U6T\aL&']>s:&ZS5&E;1>]ja:Q.3VGM2oqOHkl4U944sXP4@/B<kj88bFd-o=fnONW2>3]a[Sh[TH-RdA%Vq*huAGNV0,;BF^BMohpVUC2aUCIASYjAtj%^XbT>Y:aKaNkYm87"RU:]m?h"3M\>@l6X=&.),2!$d4`bl~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<8156d97fdd8d044ffb06103858981049><8156d97fdd8d044ffb06103858981049>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/41.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/41.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSJbpA0q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!%WL`c2~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<5ba3ac9b14956db2a230a15aa09a788f><5ba3ac9b14956db2a230a15aa09a788f>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/42.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/42.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2U?Bk1uU$NJ0L81g5'SY05g&Q:\gq/6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNb!%q4FG3sgt+C0TZ&J*;E`9E-7BAiQ.59t'[n$EWnL2RE5!GA``qN-YFLi0)0HlGl0F%CdHqK[jL&ZA-E)oiI0'*44b<N-_Z1aH-=0M9)XlESrKlp"lQ"*G\[dj1O`9dR05.1+kD4pX;u4^H/JAjX2P9L/6GKIB6fiUQ8V[lAdu#<[[SKG"ZSV65@#:b=u:">%%uORlYn7S0^N$$251RkMg8%O2KOinN,W/b!e3kOh=&]mEbmaG!GEWe_hFX\F1aDNmd]/L`LQ\67fYd^*rrDa8!"]gJG-[=851YX@(UY?*j4@4g!7;MD5Jh,Lh;Kr?dRkI,gNs'EgXe.D;LmY*iuJITa-V"+)c05YVEF9kqD^#TXuX=A1C?DpJ`Bs'9t)1bN\1Gl3bT*8VGO:'49^n"K]3sfgr>4]<.7X)?9nRNE3ak`b:1+_dR>'%%XnEo(,7Y[a)$#6.CFhKi#i3G"_2[kMkpt%=g-eHHTNe/Mp-gAsk$+L$'^g`n;OLW`n2Mm#qVr>ZCJ@/`n2CJRO,p'nb>H;M@Ud0pJR#l;-f<QlQkMq9`:`9l^-dcMrTg[[RZupNk<'r;6>["^57WTO`ZB,uo!(Y,<d:CM`!hRS)VaEQ>:4lH]RWe=mc:B9(ne;I6#8Bf^]kTtbcr2n($X&pIf\e!5M:6BImfm-%C$bN,bh2thf6$)8^s1\&4Ima])]2*&HZODe%dM=$7KK*\(SOH#!/Ia4<mEXIP[gn,>!I=sVi8-Fn,WR=#Ldns+5c8M"C?lWMEgsPel"_JoSfJ\3^JVB3OQlk,g3+A+,N!c7$HVD2O-0')Kk72JS!^jEgXNe_C,`h,<oNT+h9em6Oc0S%k)d@O4=Z<6R4Ye"#G*ccN~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<85951a093e0989de43b74106e434b468><85951a093e0989de43b74106e434b468>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/43.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/43.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuSJc?Y4q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!'>'`ci~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<c3384daef7a1ffb52742ded3061327f3><c3384daef7a1ffb52742ded3061327f3>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/44.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/44.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuS61>f:q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!(1?`d/~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<935de4c47cd3b95458550d447c74badb><935de4c47cd3b95458550d447c74badb>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/45.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/45.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2UD24Rd_(b5`nZ)Xi32TQS`iaVo5PS6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNf!A57;]6:u0JM"_.M%=D2#s5Eh/i\F<O,1F*G?TfrMf/s(KX4f:I7Qj7`&H-j\P4F;*7uoPT6EgCJQekYEIu7d&J/YU8Zf:'6[EkU,PIC#J++B#r=>:E5i'IZQ6rrQWC6G8-/k?F#E`r.Z^%It`mp!g3Q+^No9)`UO(YB&`TcDCi$&$;'jlKQ\q7#<C'f4*@?G767943V.%rMb0]tm4q/T0m0_-nAJW2hM67*Ln?>hg[]3!O@=E"G=MAQENg;Gr57YNPG;OQ:[bn;+]Ss:8i"%&LD*<N@Ar<qg!4-UcUHBf3KXLVM8WjL<US''<di,u3@gt!"!h^^Dt)WJK\r?rdFZp@t!/=GAgV<nf2%`(cPQb4K6=!b#r$^HC5cBO&6,I".sNi!Q^R0.%+N+7Sgm]>^18bb[$Rb&c<]">XO-F9)9GE^n*\5A%2R\Nk*g[<m.A6<l:T]Xs)f;h7F0)MsKU6%?oIso4`Eh-Oq-qNB<b's%Y^^Fi]Q=TduM(?8VP:/6R2#Pu/YkC`6"pN'TJOcs?euDn(_,6sZ-=e*_Bi3"/q=mfKPQh91Bmc=t-kWX%D-bs^ePM'</hGg*UH&ek;$r:WJ0X./BX5q%!hNtue"Ie/Va2bORs#4/c:B<)nrt*)*DdraoVrY&6r2bA/;5qZYe`gH';s`rh@2YOC$bN,bhW;cY3F"NJXa9,A3*:02_^9,pZCmh*RpS'N<24B03h(J!/Ia4<fq7c.*#Z7[!qWo:L2s;_M87f+&(SjIsdm''D`a'/,nc4=pt;1d5-NcklesEkL:EJPE8SP58&%QLaMoECm$[Z)Kcl^M.PQr$CJLRi_gBm7t/036Lk2hLDos[+&M[`*ig/VLIcCT#>8AgdJ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<4827b2a7ae333e0ffe57fd6e75991d58><4827b2a7ae333e0ffe57fd6e75991d58>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/46.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/46.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuS622ABq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!)lo`df~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<cdd5ed4e572c198305fe53781c5fd2a0><cdd5ed4e572c198305fe53781c5fd2a0>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/47.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/47.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)a_oie&A@6W#.ZQ>>*`?n,r`e?!We;ofL"9n\]?NHZ]HSf@cI7Q4/=,TBpqA>(RPp4k0:Ot@ga^!/G!.H!1+RN]=,M\+^9Q[&f7h[`7^"#\&%XZIRri(^=>OE2SLVN'qEP.ksI4d+hF)]nSOe.kE,Xom.1\n,>a$b2NASW3W^LbCS>9F-qLKn@%;YAeFd1$g&D)Z>,_=3RO.LjD^qHk9M+a9ohjqAle..S0Os[-(C[#ca]QN8K#b4Hh;\(s*:OO=@Zi<n$WTRN5eR<.@^*ogK/.?ZCa<)>$(/')hL%=1F;W[AM.^;D[ucLOSlZkcp[2Vk_A>n_\0dY0^XhrJ\T,_K[6t_kEP'/EA74LgmYK4JH](-:lL4l/IZLcZhQ6:RKJet:>#qL]9j?9T(9Ar1T:>[Cr-QEG>X:32\f5sK"t$9C+H*/,6YX/]cm'ClpQE#HMn6b?HD)*.;n5kHV$5HC0@7(24>Xe>+CgdIKfc>IE"]<L3qGB8`cnodEB9#`j=VICN#hU_SN/_7o'P:.>)"=j#o]ZtFgX8pi,U5m-Obg]qUa9ae*H'%7mRb^P3hAY"It#9?u]MSOLS9E/r;'u:;`,a!,K?fCf#YpjELfsD_::_j:!p"@RAdg\`1"6S<"V46YSqrP!kYYLD"V'dFQqJ;Ze>lkM4F$1Rd?si"]>G"?8`N[3k400Ap!?3ZZpoE#OrR]5:'Am>N=hOJhH\mX\i-V3d`$'m^2l@)[ifLCHGaQoP&Qc#3$->%+TFAT!R5FDXPE"E*WKib=jW2_^*&&*E:>4k,tGN<25m02)^P!/Ia9<gdmM.*#Z7[!iE1:Mo*u_?U3c+&(SjIsdm''t?E\/,nc47WJ+&cnh-!mKCX8k;3OD',OHV58&B0MoOGtC_A&t)V+ST_QrVG--T[/Ypg!m,<oNT+ZUV"6]G@I%k)L8O4=`>6R4Ye"'\Mce,~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<81644295f782e750603050cff9fa63a1><81644295f782e750603050cff9fa63a1>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/48.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/48.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuS61c)>q[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!+SJ`eG~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<8a65a7960e9539d927727bbb33e3851b><8a65a7960e9539d927727bbb33e3851b>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/49.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/49.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2D8E3'Ac%^-rMLm[Fchrihe@$PW4q<kkaalm3MX<N%(\IWZCulF72-`ecc:cY5QX=J4g7,Y$H!0TM'5+&c`q>8l+ff#B"5LA)cnMh%jJ`iS+B:_V$K25%LE&P+-0ShPLs4%eLRacT<D2i)leaEPg?c&J/YU8Zc*t+hP=9&cLuS62VYFq[](K5i!edR\d@*WPnM96_ZNC&)tB2V^kW^N2mbWF%Dl:k9ZH5*m[T*Mpo^f^dImT/%u!,FTnk$C'f4*@DOdUK%1bt8ncHqb^!'&^)ReIN'*%jBOfAt^uPRClOCm]pSrNO$a*l:&OW3qS+u.$W"=\e-?K'o=lMfsZZ:\+5b'0JQU!'9rrRMa%V8/C?Ep5T2-7snQ*r_r;qW')]Zue0g\O54HR7f@6dh<I&;S2\Cf$/m9rGIKBa;PS6a5#--#^lf<J`6u67$';RF6%c"?,r!dBl5(F27-mEm1c+SQ4K-M-rkXoD/SZGIR>2A<tU/DULTa0CFp*F0l:YmG:Q,L*]=rC9A"g]fMD9Z7gPhNelHb2_aSGf@^n!Jh.dPoOm%ar5e-<;O4MJ\C0+iM3;;FiQ!9q[9mB$-ibb#*l6uCX(na>7uasEODu8hU6<4]$0$+V%1%p!j>-U/,(;K)]"3BkTb)#m/DVYJ3=ZBn$B7c1,NRQlZ=[PHca(s_d#PfgE#djpm2.aPO\J%#.516QTN#=`<@^[uT#(M1$>K?FK9%]5:;:YZ)gns>f^!sRHNPg)dud!!2g5esFHT@9@%;W5c/&+UW&L1b"aI%R\<<cj%UW_IJo0j&a'QfnIe4uUGf4NRNsM+:R(iItpca0d$9GOqr6bPP(A_1/B+/Y+$&U[eWAREu+eNq-,j'Uh:%4q2,]*fDl7dl(bJ%0p0RHO4F%@8lq>'"UaUaq*e0&`0!G.>ZZ'lhYL]f)T!,Fb`ec~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<d5741ad32bf498b10ce920929669603f><d5741ad32bf498b10ce920929669603f>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/contract/50.pdf
vendored
Normal file
74
tests/fixtures/classifier/contract/50.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071407-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071407-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 954
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat=)>u03/'Rf.G>k'S:2UD24Rd_(b5`nZ)Xi32TQS`iaVo5PS6e?h&CFA?O@n]2e;!louSpSeo[gl5^3VGNf!A57;]6:u0JM"_.M%=D2#s5Eh/i\F<O,1F*G?TfrMf/s(KX4f:I7Qj7`&H-j\P4F;*7uoPT6EgCJQekYEIu7d&J/YU8Zf:'6[EkU,PIDN!IYF>rWgY]T^Lhh99\&d<$H[WP46`^K?1ORfh0aJj6B(o*9&?bH-)n;a0X7Niq2a\n.>TYMD%4c>sVLY[042&YfJYV,-*S;PgGjlR.I'+HoWNq(jQs\^rDsa+d39rY;[Hih5fg0/@^:/71=`bD;q%+UI#f4WQabiAr.$iccQ^p!MN6]%Y7[1rWRD!*QjCe]ul36em'dW<SH`f9kA*Bn2aW[DX.PLn!07J%<5b?IM<>3g7U&!Q:u5ode8H)LL?t99AYcVWtJLtKhB3UB1g(,&_PSt8(.h@bQ5$P`\G@DG?/kT,lAg"c0GrYh;-p8P?H,X]1MI%go*STc-\#&D>.p'1+YFX:igKPld_[3Q[RP6;+R4s^V4,@\PB>I'Vt7YAO$&=i.\N?9<rr!`0K2f8X(*9)LcK(=SjCVK*#S;^a%KZCK7L%i2G$='/GTk[&@O(I/Ko`8co.T1qlXJP_dqN[]]%jC+)J.(RAs&d2WCF.##Yf^_(U(1g+I#!RJ(!l-PI(e"Dr89fiPRB;C_%H--TP%O_okHI[mNU8Mr1Q9q$hf\e!5M:6BImfoDc2"l6&k3`4Bf6$)8^s1\&17b5))]6WQHZSqo%dM=$7KK*\(To#5JA]tUX2m2BP[gn,>!I=sV_7KXiBm[D&#Sgp5JGJ$$2kA$'n>k*XbD5TkSZbBFFrM3F)$]`8][gc+,N!c6kfK32G"hhNB.K@`3ShI"jC9dE@H`r,<oNT+aF+E6OeG>%k)d@O4=Z<6R4Ye""Sjdc2~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<c4515e2533cf46e449bb41e7578fd420><c4515e2533cf46e449bb41e7578fd420>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1946
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/01.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/01.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 760
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*3$**<!hA"$ht0<g)rDa)m?;Cb);2//X6b\?q:1m0$?+$X;]ctn1o(1$p/+<JCFhihs^n*&b,<(##%;K!AfXb=MS0Hl#d&plZLMtm5hCB3(/0,La-.0bHIsS3kk^c)oRMdYNd=VmpS$+TuWKF$73>P#iV+=\o@)JKg%qmm;b2kJdB!+p^ZoINCg=INc8=[=+r!;@KBpqIZ&58\%P[p+!)_%POt*8]0&^FIdI<TiL59'Kul?5@[Uf3a\sY[@?0_ic8<]Dga]Q!XRo>$^We@lW3NtF&(Y[,>OZFCT+B&)h#W0;ImFX$rR*Qso#khZo/N*$.?-(hr^@_bQ/;h7Vo^5G*98\FIIIfaW5l2XIi'h3c/tM[A$?`bC>%L2fIclVpc]g\YQhI?"p3A:s+J(Tdi.O:XL:dL_8W6/A@ZX^S"]-D!1S9R4Dh*#m'W\XPT-l&PJ)j8MO`C\ND)!?Hnp>nL.DR397(JO,PBYTaC)9,@YEAf=K/1#D,p+!pA+;4Q*=)*j(ohGL#A8,d+a.Af]-S[s,/K$o(#a0;BA>:nUSq52;nY$Wo[7q`uqgBN3MW9Pr:m"W)4pR<cp_SEHXP,;>_*qPB1IE6He?3TX@(F#j,a,/JM.XF_Z$VM-J$6\8&lu)I_oN-.f2-Z^lo;n/(,6))bqEn;''V[Ke\Ub1*]=j%9%'i9AsDs)_bNh8%RiE/;L0:*ZjBd(]7MDMbEKKb'PfkGE^<mcIC+]PIgSIfVDI[UB~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<d4a2a8543c6fae7b8abda3d3224a17bb><d4a2a8543c6fae7b8abda3d3224a17bb>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1752
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/02.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/02.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 764
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%a?#SFN'Sc)R.upu1C8Wtr*SZF]j(iEU$ETV/PBt-.fePjFP!HF)5KERBm1N20#[,IMqE/\DCbR"1_<,rg!#S<&p^%$L+Er@890pj2.^.&Y!R/g$E62Z4=%i<VIhBa(>_hpSMf:el!Vm\qLW6OL7E46DVI%FeT9Erhi#P.?]Nh6ak9;>LZsg8^eGok!oFBnC9O8M^SUju&]QgRq)MPL8aMm'hjP%mIaYDQl'TA7JR&$369&aa^_VfKF^r1lQ.>qZ#A['<UV=K'G$]J^<jaV0U=D-2I*bB7_lZ(Fm?/::Z\&L#tFl(IAjMtjC;JgnL(iR%6NM4Kf)2DprX7VcKR=aC#=Zf^@#F24/3SNrP/W>H-&Ab:iZ>G(>0:/,$=6%>?.Ds-;].RM.nJD#7#EI/#[%<$cQB2&&Hb3'hmI4PhT$*EP0%l=*^]>9@eT_V*H5hMD<D7SUdSJ#F=Jj28[ubJf]cAVgT(VWq/.ihr&=/97as"WC&[Ff@9+g`A`L>KgQs6t*ZHJk!WIgPXNO,3_."Erlf$A[T3<]9c\>@0#Eb5L;jgA'pGoU[Z2gd[O,MmK@%<#g_]\QbclZ5.&/JO.I0g4f&2ae9kVgTW*5N+ddV3XT\Gc2(Z;*!:G?skWcT@$`V9YZdame1,>oXaDmH\-$:;0U92,StJ\)g#"46sF,UqSFVnaC]#0GK\`4%_oj/Fn#Cp`jU%8GJ$2%IGSr]@2$WGqO9;fEE06a!L*3+<j0q4$jT>9/-f7+!St&iDu~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<e7151e8839af7d1537e8f0218947565d><e7151e8839af7d1537e8f0218947565d>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1756
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/03.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/03.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 762
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*3$**<!hA"$ht0<g)rDa)m?;Cb);2//X6b\?q:1m0$CXOXCN2OBULknL7PYY5jF-tIs;*`#l+0$""#/aJ=4AA/7:)JoK!#sot"duFraX1*25%giX!$0o'7cmcL4$r#4\DGX1CjnHe=:#kj]sU64*)l6M0.Z>r_T66D#IGG.ARp6%hC/oRQbl`h_3_7lW/nX$W"XYlM$I?_^lRD6MIJLIV[",X!I</ru1*?[G(X\0bTM@<0Yf=CrFenl3bZQt*as1QCripBmua.m9-Mf=@^t20Lp>_>7?I"i'd.q2kO,*C.^8(Bea103o5@^WbgoO)p_\dO:=;?_i6Oq0eEORTuT)6/KN/#7hE*H7YQZL[h\"Cqc<$#AXpQQMl5gh1ECtmfVPTCI$Wc+CP0G?eDtNXg.lSC:b0#>[2#2Q4$3e)63*8Yc5+Je#&#A?<c\d\In-afrGCXaJnRZaRl4H-Snk@L_Ldj2Q.3RbX0BYZ%[3e*Q0GTe?uD.IE=[&h5(`"8o:(-7%qu^ElbK?(,U%d29P;O0dka)Q^;>_OmtC<Mq<;>WVIU&;m!L&:hC8C@7D*eAuRYLg(#kFV9GqLLa:9kLHLHD_IIU]%68)^[U[\<TLQkCc"^H2Ae'.YAp)se>Go0ECU.iH@-V_Xf;iDfSVWR#(ZTr^2I[]rLi?hU?sT0]<d?_4ru8W+]'j"o9XPhLRL8]k6>k+XKXDQKpR0M_ERh;_!OM1Ke.:0e>Wl6GG&[$hN.SJp~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<72c38c1ff15271cc194dc849417ef05e><72c38c1ff15271cc194dc849417ef05e>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1754
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/04.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/04.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 764
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?#Q2d'RfGR\C-bo:+`f30p"?bYn\]^ZGr:jW@o-02PpU$+K>)'B?]O:n.ZHXABqa[*.4oA!Qb_MH[#N-F85M:""(g-J>l+kcXFh3e2dWSe@K:UFraX1*$Tk<p]58b`ReZTRG@oD%K&T2QZ\GMpTUXITuZ=A$3e(0#gn-[FQ(Gb$[n0lh<&/L";1K\d0$84NCg=INc8%3Q\EGqHk(Na\jj6+gKpks%hA^g8U=(YD&t!C^\39;0L`dqK(1:J@Zb6+c;PnW@?0_)c6UR4ge4mD/G3,p^<Wk":h+_J(p'mJ>OZFCTD-Hgm2ibCImFX$rR)FSnk3g(ZT&cc0o[phr`NnoQ/<sOVo^sQn&7F`I..]`W5l2]Ijcg?9kWe6F0OZ?Em`d2fIck+s#qQccj$j["<:IgDo1AUBoVeXQCA'Hi8RWR10lki9i:SrLNU9>Sha:sp=b[Jb)KN"a\G;r7S[jA>,5dk5+0E"6aR*\96k>M#5,3WON(`;--V[k)Zi[_Q>;sir/t@b\kN@PV;+$La?h&[j_4:p+G16fBE`Ua*b)9Q0.Thp,3<eY(*E<nPS657WCh%sEAV,TLk3\;f2>4VT_fh!(,`,p,)NYT5*+]qn<f_D9b(?e75Rm]P[W690=HRD9[ErFjdio(g5DjUladD24=909F_WgE^?#9@e1\^/Zi`4b__df^A]lgOdu!tZi8rO<s)P$<h7sKC`T0a-AHaS7<o;f1C5K!GKb'PgB"EF+erXC\0&".d?bLrt/-~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<99ef7b66a9b8a465307b51bf3d66ca92><99ef7b66a9b8a465307b51bf3d66ca92>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1756
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/05.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/05.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 767
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!>Aoub(k(kVpnTXDSQb.p#4b59>ER>ZCRf+&qN=:m`fr^k,h)bkN4HA!9+_FQF3aNNK9'jX86o=^G=R1gJ<-<V?ijdJR+Vnd*+n2"Nt]<6O8ChLa)P+r-0drBNc5pi^+R=FljgsP&0Dh)Wf&^KLWsLf*ab(D-fH(4aE_'e$g56*kYm0!2O>X2Lp.-F57mCo1$LRF&^H='WmE_qcTs*Pf-j^Ba"MQ<];($NP+IhYRn$'*YIu'g>SAfb0Ks,H/@,c9Gq*Ahb],biR7-l.HNdHAPoe)<leGBu)S>=UE-8;=Jm\ERHq8^&%j9s$(PM=]?b.R`I[S)^(?[G9V,8Q_\4?_"o(s^(1q?#0K=lt2!'VSDoiO,s&*%6#l"iM.%TaiZ0)GGXVZhP^hZq(3epoZ::r)Al^T_p'>%<2_j^oYs\@C%CC_)Qa0N>_-?sQQ\Y>#aa]scFWE["OuZ<%W9O]0`6QK^giT?L]J+]<4IfUse\q)1PDM_,W!K\.DLWMZ7s=7JrWq4DLR@BS\2fg$;[_(CEOlYSp'7aA5m6?!1Q#j+Ui]\Jd0PfM1Spqc-W>2]Q6<QhKmVS?>F/?GWaV:IoW<BNrA.C6',,)NYt+ckWTn<f_E6P<Q4,6k7Zas,IqX)4Oo`c!1i#G-0_gl&Wgm%u(&IBM)rF_isGYnY$%e??_TX95mZp&3i#kfVD_bO%k(hr*VIHiJ,!WnkHBii8d#krWde[R0l:8_k"\%1=73h98Rk.]c(LX"(hu#<2Y_Mbgd1~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<10f2c3a91f2b6c3a5e0f7ed47eafbd28><10f2c3a91f2b6c3a5e0f7ed47eafbd28>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1759
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/06.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/06.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 762
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?&tF>'RekGEKf*e\(RVLc/>'um?4tof<K%RIBdC#BbUuK:&fWs!Kl3T,R-WWE6c/[39LbgOL_U/DtX/u"Wos;^]`.&0_6-[.886N>pk/V>n9&<=iXMKT9p]%[>3LUp2qF:-?l,3KDJF99jM<*/Smlqo_=Y=)\)6I6K3-M-<p\Zct<XEFftU,&7H**5%*ri0kiMp&2&k7VU.#e:-m/%f-iS"*gA\iS%XPROrfd.SOZ9,Y.YtQ_@ePr0K`rEXKr>$H)c#Dc/I)k7T'0ZhLLSuUPCURSQdR?D0Pdm0!;TdnBZPJmuedY*@SVs"_#&XQYm+p?cE7Ci`rC:1s.W`:>3O`r''@-9hs)RVse%NJ,g1?=tI;ZLP`=dGd8;PLC4jBBC1*R^OX(tmiCBnX$NdhW*o/n?eCi.4_"^mo@6MlE,hidGnThd)609PYWQhk?qhAoXgZHCE[)?6Z8E4LOYbaseEP)6:Zel`'<1Hi=JL2$"<Kl>M\df(d\iXDURFgC<Ui_jq4Df0@;=lC=[s57_&!UGep@Gj=MU;&E!%%M.@kcRGq'OXO/#G>#9OIg_E0*pb,m'c3n.2t*_+("oaG@d&5Jp`H.<Lh`7]-s8+BB"9TH(s#oAV@Brt5q9&3'P5RBmWNA[2M,0tNfT'E\pAs`e>a:6G*=Uind%As)I)'#mc\AtS0\i&6beG%,W8I`DMbH60lEp'H._i)&:T&97T_:As1qbZ"4\8#.@JFRC6l;qD@>U%*n[tC0"Qj^@W~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<2294654e7c94b25e138efb97f10d241e><2294654e7c94b25e138efb97f10d241e>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1754
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/07.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/07.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 769
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?#Q2d'RfGR\C-bo:+c&R#4b5I[N_P>ei;,*od)uN`fr^k,h)bkN$1GEn5L]kO?)L\F6qp+$qPfNrf%Bf@fc$_@))o`%PY4,LcN\tNF!u_\R,#Id]VWAKM0f2JN1G^\G3]F-aPlG5=)qtpo5spr#Rbk*I;a$j%.$+KTLOdU^QA"=6`_;l*cZu+Gd6,`#g]1].rP-e.L!LpSuS"SBjJP8$>dmk`0$7#bls)8X^[KCg4hld]^>0\6K\$TeJ[lE?auoejUos1!FW"c'cMhms>4=Ss:A>SCb<J*&VokO5]B3G"_hRn&KkQD7^#rUE:$o;873IW;SK,_^m6IG0JrN6?&4p:@7dI(0PsDpNq/rP5otu0^>oZ3ZlAB;Ua<Fnf4f#\6S\#,u+jI,eabE,HLo_(869/o06[Pk4F67SsGk"khqUr)mVUdJAY4^]SH1A(jp2#>jSkphGa`bb0li<OG]PhNj[*VlMBQGM[e&[#*059U98DZA?a]QM+]sL&?Ji0c`ug2V7Ya=2NogrEg(kn$`2dI_hRim+H'^GNIj5o9H;!0JpB5>b*XPr<:98?W35p2<RlD2$H34[2+@lhhCl#(!i/"=mjr$n4X8B#5OF@gq$rJM.5OAcjd;dhU+G[1B4j;&_Hh0kera#7W<6Kk2/tQ\@V&ieoe4/7N5\Zto2372Fe0VXj`%&3:p[;u?+V"O,5;3m\),l+4&bMNDD=XU=blaq,HS#o^4/c2'%[Rc+#)Np9`8_-`KALAFZ[,/"!^1Aq>~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<0e328dc79c684cd4eec9badb62a7eaa8><0e328dc79c684cd4eec9badb62a7eaa8>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1761
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/08.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/08.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 764
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*2un0WeBf*Mr/ntKB1[&]WPEe0.pG;<#@1%Nr&KUQA\<AX%$1s/MlS6Yd;@eOLh[1LBi?dJ<-<V?ijdJR+Vnd!p8K7Y7n^3?MA;W=iYXkQ`(u-EId@_q/mEGk;ON4KD<ga<F)Er4`!SLo]2N3TnIUq+n'!)0&6!1;P,/WG(gn:6%n&;s,Q$hNCg=INc:nDY6n!U`<*tmoG6PGcM^AU3'9a!VV*]KG"%WBrRsnrlY$>H'IK_?8n=O2VT>PaL,n&<S7tt#\Q*&!=m;W=^We?Q:ht8r+0=@7\)]Js5KE#L>ms&S^E?(aId*:tqdnQ6GuD`MQpnQ=nQ?bi[GM3lAEc+3@sJI21&-Q4e771=5Kp*!c/tM[A$?`bC>%L2n-f#Lpc]g\YSOTO"p3A:s+J(Tdfqm_=DaD!K1d\2aS+NlS>#d>L/"u`^,AtDp=`D_Wf:+nl!?eL78@^?7V6:UHuakYQKU,W`ti5@L2DSP(->@:3#_uNe^WW&*PZ]'4RY$3$RIaR#I7/5^2WSGh@%CK0&oF;s,/K%3n71Z;k?Bcq12=3Fi"AYWg6jfQu>f*@k=_$Qr.T#oNakD67K8,&WnF9.5%@U-etVtb`IJcLJicU(1gA*Rak`;==)p+CinZnfAsVmC=@&]_pimp>eeD*Fs9sr]GU=bi.uNkQGY-nrbf;&FmWp-M=ENL](XuFh3_rdE/PChg">O,7p&uhI=IKm-*A2Q5%(giS,1Z;b=12R0AF=n?[/6P]D~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<d43a5bc15193616404f90712479b53ff><d43a5bc15193616404f90712479b53ff>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1756
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/09.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/09.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 767
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*2un0Wg)o\=T!n,D3,alNRq/\ji'[SQHFpfYbV2GQfV\H_FbRLTk3AV)=O(Q#,ElQT@![I/E"ui%%)Rt!G44l0o)1,dH^q>X4MchSC_ad_B\>8+:`?00"rpTam9MU*tTMt^8d)J^PC'ILRt$a30Nb@+lluGl,$_uQhhD)\h2tK#U8U[;E'$YR.M<^#^=J\WmE_qcTs*Pf-j^Ba00Rfd6YVpc!Jh7>Jt7(YIu3+XsROC@=6;Z7-6M2MbM9&R,`/1RDd)%HNdHAPoe)<leGAS[<C.4iTaUY-,9!IAY8tWmQnqX2hXcP03o6+^W^\+Q4u*$al6PlE0:E#mIsHn=aGu"H[--c!.70glEP0Z+6HV#VR,sV.9q^K\`iKTS29r@pb<nOYSOTKKE>1Ms+S.UdfpaR/iO0c_'P@)A90_\_bg<GLNTp4^,AtDp=`DOWf:+lktXZ<78@^?>%T->5.SL=9B63HV*278$Zg&-A?a^;\qGE_@&9<4a0+HhmY]V5-=O(<-M]nB9#5-M)qK??=c=QV.(FoK*[/`UfWC111?M.JQ+uhY7?.)XW+s"'jm@"naK71_kEr)(3(aY$;C?%!I70l&IbY`Znd?Me@qJ9KRH'^2[O;MF`2pBL`=/G5YYI=>:#=(&2XR@ZVS9+lqFticA$H`aI+0ge6*(0s(aj\j%(\4em-8s2_0:.<jmSi19XS*77Cc'-c?kQrXKBj`5>'`Ef*t@p0\srHrG&Fq&Bso\41P(kBcsk.~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<b979dde8f7893b4a08a22f5ae3999491><b979dde8f7893b4a08a22f5ae3999491>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1759
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/10.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/10.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 765
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*2un0WeBf"S)<_3%?b55n[`J3]XVY2;V>FYG1=:qZ<Ws;WYQ@:bKMt&m$op;,VQ7ei;m?1iSu9oQiQ"EAgRUDLDdj(lNFGoeif5(laSG'&G\]/%r`I=^+P&[ljif/i#`lOXG[e-LWsLf*hSWE'^uSUN%U$1iO7nbqBTL\c,Bqo,4#?*#@tSd9R7.jK\OIm=_Jf!kJ3FZCQqK'jcqn)n/u,%UrOb:k"uccCG,sRXU(:j(n\)^(0Lk-4;B%^k#eeG9VVI2]`_!S;@d?iF`+1<)S>=U@!/U-Jm\ER]MEumpV95m$\CA)Q`^UZ?Y7tFMfY"%djPmfT7r"uq0`m$R[g/O?JNH:#7ls+Thq%tqnqd+e9&-j49mAX//S85M:I3mnF$J=#\u\p7DN@)r(ktW3N]RcdrMeQ*F)ia6`(4rYSaC3pTUg0_,I4g`Eld>9t:k:1tftVaiMTk=Guf&a!]><Cl#6jn^sKC_N9U2UY(8EL5*NB20CLWMI3[4?am"b\We%G"'I#T[i@N3[fmZ%ZRr<;s2>b"mIF4+;BA>:nUXJ+3T1((WoR1p3`&hUXY9sf4MB5_a;d_M@4="5,9huNdlriPTCA5<;G@d-%V6Q\%Eb?(UK?2:0laIF$!)m1DOpO]WCa^>L8efY\R(hrc'U/p59KRAYRp,N%I/3S*Rq/?;o^H8-glJ:QWs4_bFPeZ"#m.eO%EI"EJ0Slg@n+:>2lPji<,sHRBBnN2&O<V]5.^2If]Es[]]~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<5644fb0a3be6d817ade744cbb027f050><5644fb0a3be6d817ade744cbb027f050>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1757
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/11.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/11.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 765
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?&tF>'RekGEKeg]\(RVL/bnI0]-OQ5F_ocB?S!(!)MAQmS,W9p,6G;-M:%^4E6c/[Gg?d8OT&YZ)t!aH&jCc]J-j:;@-05+F-t&gZVLQ/ZgYN%fuI*L!RY6WEY#Xqip/@ebjIaq#5OtTlak1,44oM#kfGQ=63Zfh_YCE-)_QNAe>EW%D4u\L&7H(d59TrDA(#(i-!Z\\FeNe/T7^AYY>MIegct$?KmNue1j_s'D%WU9\+Yt=&;G]AL%-=I&s_Xa/i'8\ILc)\B+br/mPS*nep8aVdOc34[_$ts<nH%Wq.II7j7LAM#-#IH&0t\nF@3#)1+lt#'InISU0POuW%=I]muo6,oGGQP\qeB5Hpf[RY\]d>';naWfm<3/XCSP?FS@)o!Ip6hHc-LsK/SWQ_Wps3Yd\\"`f?XVRtY\;P*7fbHE[Y":pl<lI3+#Z9U2*<[e,d4+BDXVdh1#je)OQ2m&5t@DR!:WWN^WK;%=2j7EArCJbmk4]iZkTHJGXNQgTa?D5L^DeL#Q;'M?%JL\/c,5Ruh#D:@7VqKROlHH#,H.RTdq@JTpE?M+?f3N,Db73OfoNS4a"?nnlY4Td-EG+k/2eI@Wfq&qAbj<m'eLWgBaL;TuZCQ3?gB6LZleAHlC@SP^9G><LqWj?S)_)bFsXacAUAh99h1`pnAi/"eV%Rip5]ol*$3cIm(P8o"'QWrqWbFPbY%<i(Fgh!SI1;_$<m<VKqQFL[3qLIgBB'WN,*Bf5[]kdp4If[G![QO~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<4ca2d218b69d38ffcc304a5e1a664d40><4ca2d218b69d38ffcc304a5e1a664d40>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1757
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/12.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/12.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 770
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!CN%o\'`HlqEM[5E411J`E>$!>a4<cq=>A8Ooa=-!b6/,D!n7/I*9Z!-Z%P@jEmD5i*;`un!N?U\^Uk`+=MVsQ(bbuq#L$ug@Lb26UXof[Y1J)k[-P4Oi=bfP+HCC[0"rsUam9MUD\+!/^8d)J^PC'ILE9fcBIDaZ6C>D<dY2c"/+b:-FIUGc&4G.QiX^jXD+o6bFbKAG]dbiKkAq3Xd5B&]h=4,Y_<r^[P,,!$h<%QIpM2Df0%U5".#cJT'[&%[Fe23n%s&^dF!ac`pKiE9B;LA=k;p):UW2`u0jJ""\)>ke59H%1gB._lqZUE@l^+a\Q!`ZmR)QU0:MH%b#VOQ@WVes%4A@HUi?7St&qH#K7Qm&3kJMOIC-#QpT#6g!Q](jW`+d%p`:j:PKJfFI+r%8-r\*WoSCZ?NBt7B&%PBBA+kqVo3"/g5#?]Tui+l91@]qBVVEBZ7Rd=%-<92PKXCZ]Tj-(?32T2<bdN0?l7?M()A?a^;Eb/\cX$fn4Z)dLCqu"buPqZ9Sj(ohFL#/-5L?5idMbqWWH956$E+[VCb=ef?GoZ4/rB6e&J.E'gQ<R3?2lNi4(1s.@C(2GQ%jMIUPhFRrOi5rKO@Sh:GYHD^+UBZTqZa/3b+d2NAneY)PV>S`S:V55n`mV#:JKJ9,><NgjSF":2Ij!+_0j`c_a1@+[]&ZSiI01?WG@jPP6en=bH:O<jj$i;JQii#Y0C(pD1o;3g@mh2>N2Yki<,sHRAjPI[2AF]kB/krq$1\I[Yb~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<b46fb727f5e3e83c5af291e20a8664f5><b46fb727f5e3e83c5af291e20a8664f5>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1762
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/13.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/13.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 760
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*2un0WeBf"S)<_3%?b55n[`J3]XVY2;IQd046k^I=ft>)X2r@KbKMt&SCn&JP!?&I_]us]_oGOi0EHV&bY/4g#n)3Yed5_gXa;DZeo>!4+n@t8O)Q,@^93+AiWf0ri#c.:XG[dBJB_bgSm9\l'^uSU9OAS"_em^Ooh!#J?\f""7+`NSGJnd_Qjanu$+J+@ZHtF1/qL2RDc&.OQ<3>?_kV`bR[qlC?UST`XM#l=[N]*G@=$4o7-$@EMbJq9S7B*e1Q.,T[h:5T90JMBDf\QgeCra8#Fi3V/btC`cZ/ek*s3><0*m_[=Lo^+I[Ocb+t5p'b+`-kIh<SomIrm\=aGqa=PUd;#7hE*"t]*&_sFDQI'K5*"reVb=2THCeUbL)mj$ftCI,R4^gZj0:Y>P)D6X#WHFMls>Z,9'V@,nu(om%7fJ[7/Pc8\Cd$B&W%:YNt#8n[&3B<,%a=_N1j;Nq.d30Eh/]o1AR0[LXG#6DM"tWbQf.u[eV2+&UT*\Ul\OeuJKi2m1)*&4"]cG1Uq&rqX4Y0&TZF,;Ol<#NGSj[#_L<h6X`CIA:dT]Y+:2Z%G0`@'`#"T?V$`2(Kc\OF"cZ'OC5N+dhB::5j*9(_?[O?c9XB4.B/J#BFYq#:^D=V#i[;"7[@HuNDXk2WG2s"iC0.4Xe/AujBK/.8&#?"R!N`hoKh#@RSfC&O6)dVhHD@gGgG01.m<p7nc;ROGc_pSe6G7.]k)CnbR]!'i(eR,VL[WD~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<d6878df9b9dadfe7257cc66b2175486a><d6878df9b9dadfe7257cc66b2175486a>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1752
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/14.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/14.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 767
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?#Q2d'RfGR\C-bo:+c&bi4S/e.oMgHNAGEL?a@c+QkH?JUtWSU0a,Q%QD1#XbW5Eh@ilWu8H5pih];be&jCc]J-j:;@-05+1RQ<(1JRpsAmDjA)95_`TBHZ64MYens1/KVdlWZ+6%5d.\h5c9%Q:(6H@/>ZXb(a&@<PeL%JN7ekgP4,-<C9lLp.-F4^e<I`h_'[9=S'9f7c]QC^+o7\44$+F&D3>D@[)o8c"mORlj=&DX@VDpC%'9$DV)H`@B&=Q)@79r>Zjqc8`uHghX.fXS#E0YB*?"<81\AL<FB"(AtMrchleDAe.dVImFoi];6H5jd0rtVK&cef/1Va$r>$_WVerZ4AASuI]r0J49U3@7NIe3lbgB@e7?-/5DMlL0':u<$#dUdjS'^8K[lag4I!'tr\*X*S=["'Vo<s7>I_2mL>2b=^_s0?pTQ\3K.s0[_+n529t:hY1th+!l,`,N=K1qg[ngV@=;1YKiits5KJ=8dMo>mX"eqe/XB!`"]2ecl?2h9((!O&?3:"[Q+h6LXI_?33@76^s2Sgsr-@tB)<s\NBA#Y90*,UTO5/-;6hQp4AhMOWOdsK(oJUMEO*6#cYZ';fL&Wt#bEM#bk:O#QnW?hi[LYHFL7QEjB]@mIHH,0>NYXpq`c?V)2lEo=>0GU1F/'b\.O5rV;B7k(>*3g:3iCJ4+=0nl"ICD>2jR=,$g]m4SmVK:H\AOEs];4aP_SurMqG<WH\8#.@JB<+PlW7L8Y+NdH41P(oR5q^t~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<afddb73a5cb9cc3fd7e96a6bbc64c31e><afddb73a5cb9cc3fd7e96a6bbc64c31e>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1759
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/15.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/15.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 765
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%aCN%o\'SaBs<ubqBe4slC>F^@biNb<R"]ijS8c?MffePjFP!HF)5KC=C90?2s'Ue\YkBZU&_1:#Cld+B!?nC6r-OcAmfE5_D"#5S!\C0[G0\>X):"j_pQ#MS+,7mAT%MrK=iFI*6i\uZ(NF14)g>Cq&Zt#.M8[O]N%O(2O/CKf)h^eJd@Cj_F#RDX@%e2W>?T0=FJND`%pg+[RL\!N^jle;Wb3o$N8$G'IQmCoF8[iu0`;T%V_<'C$$&.n0Mdi)cYg-/ro3m^?C!S'Is4f*/b,fh9F5E4KEn&$5hhS8A`\%+2hTpu<a7]L"mX@G=n+tG>TutOu%^S-]kp_TI$,K%K4B:5CRA\.Q3ZR349EO\q_5J`eBn$sQ920'ba^_gniH!?'QT2,BMtfI97p%"i/4'B<a+&iW4/]JEGZ\i!U8*W>2Iq/R"G`]9q#K`,)gi[+=R;$D^*u!MPpUi86>GT2G-#8$;9(%?6u7gP)DX3#$R9I4A;Jl13TY?ZX.ZHTf[]U?qtt`/8sh-_3#`]gK"(E7@GFmo;9XG5Db%u"oo-Pr]Te9sO/$"NqjpUKJ.EW!NE]PaCS7dd(3Z)`[2*fV+&L,Hl@qjhm!QmLpa=iEkL;0kXbZcXeja3_:<^)I'RRoL"fqs#GkJQ_:X-,5N\L.:_Y*6*fo3mJ"S5JTL4`SuCf-O,GE>s/VQO32:EoQ<:Y4J#V]/S%7W&gqF`#9JDBl6Xd(]NOh%EcuM]=G,bY7sbXi1kFfunPXobX>][Z^~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<31cc0127a352cd3eaec22f0497131141><31cc0127a352cd3eaec22f0497131141>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1757
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/16.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/16.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 767
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!>Aoub(k(kVpnTXDSQb.p#4b59>ER>ZCRf+&qN<"7@nIjFP%t#G``thln5OrM1?X&B3VK_oJCK;G1HGMp"ap6$!>?#+^s$C5jtIHMHCOutHJH!OAK9;J>bZ*=iW.Thip/@ib\f]D#4\DKX1CjnHe=:#kfGiE,73fM_Ydu-/tDfFWD=,'gHppN+N!OX\\mk$`h_3_7lW0:X$Yic4pS>4]g]K+4+="NL^k%EBm*1VD%W[;^\3iKE_X?&_YBA9M9L$C(R^N,0ZW]?B+c#1DA?9!<dH08hWC,EeCn3cLT@o</btC`chm@TFq6o/^E?4EId*:tqdg7m=]3?-R)QUhi%,>-g@'YFZLf.*p[T(H!VhIYe771=5)`R>VR,sV0jKQS\`iKTS.#+Mpc]g\YSOTKKE>28s+J(TdfpaR/2msa_'P@)A:&7qLS=Qm&*mgFHu5l'm'W\(<"#tRd[c8WMO[k1[EQp2qr@s>/^a/!*a=lJ>\YKoYh4L>jL^%PV4)^j?,nVS(!kW._Hb2Wnpr?VJhJ*)XS2e%(rO9?\:_bb:i6ukX(/,fGnNX/%%iPpM[sW(Xgb/]Arp5,/F3hlQe'jj4[M9+:s//$N(B01ZnLG"-etVtbRfI9a2J7b/]ts.5;V&F@L'RJlc9aC$%2R"`ne"YWR$i7^Br1t/=%KIO8<EILipM!lQAA2?X9)2G'-',i#=daHgdSE9XS*7`=[-,`-T]RXKBj`5G`7Sl\;5HQu6N5IPo^I0]Ls4G&[*j#8ai&~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<fc3ed7c41549e440d85bc752faef9ada><fc3ed7c41549e440d85bc752faef9ada>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1759
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/17.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/17.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 765
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%a?#SFN(kqGU.pcp`C8Wu]G7s>\a4<cq=>A8OonGnIb6/,D!n7/I*#"LB9.V4tMTe*SF7?HNJFj5=cY*hCP47uT##%:"!AfL^SAA1]QuN10QuV",brDl'E/B#gOF+JHk?f%aG^9Vc2olN;?dFXh^Ve<0bFY6P3)]5U+mcq7Ub*Cs=7U(CA5fEM&4G.Q&eE'3].iIXe,gHJpNiQ231GJ(%'Li+G4(t_JnV>qS7[O5gD"XrFL.;<<u;#d'Lp,*:/mh&WlUDSqE<UiSoJ$5^"6_a=n>J0Y=hLlWoL6'_r\:G9E-=,k?[poZNI2$?P"P]2nC_CGo7DP9a[.+Z8bnsS<UukjaC#qQCd*l:>NfI!$;f33[3>PLPbV%PNci[*%kg4R!5`,GU*23^\>MU<f>Q#:r;f!^Tt=qHI2pmMtL>`FNKp[3?IO<1K6O+@!1-,hh3Ha4(IMnc5X%4d]K[6Y+4@/Q-)kupuI`s[F+_#)/IcQGb0PL-":*$1$KEgC?ff:WaE=hrbO=n1Q@mb4^BIe)\;E#D+"Juoco^6/Lb`u]+%i30;Yu88K=#1n+!%]GgAZ5[$?>#$Z)XW?mb6=(ErARZ[u*;<&[46jMtO<-U6QE4_C!(1`g*T6DGG1bjDcs<"SmqC\k37<40DeWk3.1_:09if"\S(4d$0jb_Fpf*3kfS^_e<+(YR#+?0?Ssal",Ngj8ErmVHsrnc@jB3l:3mN3J.*]Da/%P.4]"bQ3q#e@&\[eOB.:p3Ja/q$07a[W;~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<903aede4fd47d27fbd6b59a1435797d3><903aede4fd47d27fbd6b59a1435797d3>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1757
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/18.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/18.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 764
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gQ%aW'R\fA3)Z`_>O>>G+HSO&Bbr4fU`64HV0tptdo$d6J>DJff/AtW(9FZp&2H')bi&!t"sbk'n'M/D_VtFu%%%%P"(jFn^485YdH^q>X4Mch>h3n#@RT8f!C+A:\GWuHVt3".5CpRbq6DX$r#Rbk*I<%Wi^gj(KWoZ+U^MBp:[+'rfrc$!+Gd6,j?4(Cn&D0T:e/$rhTJ6LE3TDW)S\bPUcX%%,DZg2VHJAlnm*,GBtng[(qH)c$&-L#Lf7.bYUOW:b$g=jC!JOfJ)<o'oITZ3k.JtkF\upuo,+W;CKL$F^E8[+gF`LZU)srD;873IW;SKlKm?jZr0YNYJD_seSD*Fq..cdF-],?gB`L=@)"guhm149=;R?12qAcY`\6AV#--c\lM16NW7p$/Q/jg-7kC:A*c"Ve>SlXSln)2Vd)mVUdJAY4^SA;#T#%*itMnQR[Rqa2!H+'%OP*(s_Yn?e7*hU;WYpK5Kk=^/<;&13-)^0jQ/eg<V&1gg[c`ug2Ac)&M/f1aREmnJ?$VKoBK89,+5SfK7_^P;0YtD3(9dQ(q1lg&j4rr_k+#p6'DG?fO[5Gt@;Mn=d"*@"S(o`0dB%J7O98c_H`p%\lbYG\l#o='h.'0hb-k!ZL,]o]DGj$'H"&HQVmcpb\]BKT"hj%sT-8sTb?h%MYmT8?iecAuQK]*%!b&h/qj,""Ji8rO:qf6>Lh81a1Qtq%sdg0_>[-rKB\&<DVjTB,L\Z&qq[4%a`?akZW5J;o^DZ~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<c17ce54a34a5a0c53401e1408de550cb><c17ce54a34a5a0c53401e1408de550cb>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1756
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/19.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/19.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 766
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?#Q2d'RfGR\C-bo:+c&r3,_BWX[m/h29rR#IE<[G@nNBqP%jrF`Z[T/YS;X"1?[G>NdY^t+ELugh!>&2$9ipUJ-i/+@-07A;jaL64&,b`4"bs0N8pp+5g53QmGU*pI@WmgaUP3+TK^kQ;\rSc#Fj*V4ZTD07`.<@Y^B`P%2UcNobkXF]$LO%Lp/son$%&kQuj6]#oD]I;eQk>VkE1)99^AVQR<fkc!J:Ic!Jh7?,UI*Xh>t__@ePr0KS97U@T@j7Ab4Tcf(SZN8rpdXT9Be7Ls).1:L5Ug@"MT>$PgOjIcC"hPEHf4&C7p$_h1\/_q$h^PiPf,_aNMZ8gGi4DG,!o)#AD/3V"bS\BgJ&0rG:F]`gh%hkj=pQO_6.9`Z`53qW0GQ[r>^A!F.X9Pe=Ob1R$Ipm9YoSaeSc;ugP_BgRHa:D\iS>#4r#Ku]o88G4Fm'L?<S/,RrV-=TV'03B=9:[*Jp;n<jCSII3O#>(TR.pqI/2g<U"W+j[URHqmYMtmdMa-N$_plb%nt%CsJf>3gf@tg<*)a9((04m#lRom1F=NP):Z>)/_1ri5_g?R,Q!7*6EN#un*Y,DYl5@ZGcu5ou8ss$,&S[CMG"%r!KST2]3Kha."EnI\;'+]?XgWdicK#qK9fra.Gq\(?[(H#cQ,:V-kM3..C9E<?6+78_=:=IM)2.t[Ah2?G5FkSbp^Ngu_tVJ9Y1bbgUXGCh?2kj[XjF3mV/;'iL8>Ej?VOf(.]g[)+P?"'E:j`I1UbO~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<68f718f7e0aa7f17e42464bf2b72945e><68f718f7e0aa7f17e42464bf2b72945e>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1758
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/20.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/20.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 765
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%a?#SFN'Sc)R.upu1C8Wtr*BS8N$QiRt;..@:S(&AmR4T't-j`TEpN)i8dOqeX5U\DVHd;6B@tOf](Y55+!FRJ:j!P8&JCjn"2?bgjRCLZ1"L+rYI@FKmEF$F+lA\%Ki&4hf?&"Qr*JiSq5.#c=(MSA[RlVR:E_bXc_E3DVH<m<sGC<fg.Dp73a:StOkQ=9b"M\eIH38<*h=>nmBH5=\+I8d<aH`=l'h8fU,YZYQQtG(s:6U/#dbq[iJ;FBg;][;AcXC*i;AR.k`jKFl(Otn==CkMq%V=7gF^3G9>sF(ECZC`[-L^,GqI@,B+erBU-;d"=2Um"$F((@K1-9)f/g32IK;[#l,`=3:a8<Q_LIhJ0+rKu@2XM#tX&@F"HL`&Y7(?LopEf/MrZ]&e^_,:X2N(DIlM82'n'5XB%A&lTL$7``M@J5Y%_sKmTD,R-[_^Rhb/N4>lC2N5<a!"4,G[e(D9#glB6ATB6c@R>H\RK]as*5+aD_j*;T.7m=A_/Mg%G-:]Ah-pP;$(J8Nng9-1Jl@LNtNsMf<22mV"=%";udHl<5[X4Gfj((Hrki&Ka!4R^]_%'5jqWYYWKENK@)]NM$chlT6:bo$b=/PFq?3She23>Wg4fYdQ"hF2pu/OfAfb%Bpn!_OH*0TA"9D*Fd'5's?F&c=SVn,++Gf0c6W*Z,MgfiB_']g%"FoJeGmYGe)r)?g^Uq>Id1bMf"gTgdbI:EVfY`F\>su/9AUK1Ge^)[2,Om+g9Y:bs/&"[bq~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<3a07b62c827d0d986f3209929e0ff95b><3a07b62c827d0d986f3209929e0ff95b>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1757
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/21.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/21.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 764
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*2un0WeBf"S)<_3%?b55n[`J3]XVY2;V>FYG1=:qZ<Z5&[MBWFbKMt&m-HG2,VQ7ei;m?1iV`uiQiQ"EAgRUDLDdj(lNFGoeif5(laSG'&G\]/%r`I=4thQ1ljiedi9qSuXG[e-LWsLf*hSWE'^u;MJhN%(iO7nbqBTL\c,Bqo,4#?8#NG[7R.M<^#e,`dZHtRuc[d`>f-lu-b:@`1iBb7)8WQHSc(cQPf3T".>7iQ_0Ks&F/@#]8Gq)3GbctElR7-kSHO6"0V&md\leGAW20RT4_<P49"i'd.EM%X5mX^;c#6]&!03o/>^W`ul(?Zl)VGS\U577puo(s^'1c\)']sriS&"^uJlERGF+(gk9VR,sV3EYfZ\`iKTX;:_jIiT(j=9I8.!Y29o^V\jPBoVeXQCA'Hi8RWR10lki`DH6?LNU9>Sha:sp=b[Jb)KN"a\G;r7S[jA>,5eVHnp]#L.I0@@tQNBZV?*0(0d`t3b/dP78qenX7R^Mr,nJ9QqOi,2@tR/Dp'"8#DLqKA2)bX[<hih>NiK<Ti?\-Nl'fQSrWAl%ieOp\"[91;-RH;N#]O\#"UnY'hXls9o((?:A[/2^VaQ%8i8nJ3RlSmD,:G5s7ifM'GHh<9<\acEU1+N:JKJa8!nV2Pj?l1fo5`iqt!\"$k'<MfH>3aX[14313Lf]4E:B/]\L):?g`$D)n80f,Gs3SNNf]Tqu.sC93a>*I)'h[e+LV$2qK;"ANREt%E>c`Pl~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<3577c22be2cf677f0abf57086622f3c7><3577c22be2cf677f0abf57086622f3c7>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1756
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/22.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/22.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 765
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*3$**<!hABi&BQI+??kLYH(^HMi6.<'a>&MX8[O6"_3_48er1/bKMt&m-HG2Ub?QPi>uAXiSu9oR"3rmAe"o'LRGe0lNFFGlb5_=laSS+')b0?pM_'&^+P&[lji)pO<5CTY)<_'K?\(fSt+4W<:CA@6=(IB_hIQEqD;Wl/^t=;,4#@##>F#5-Colp_F=9,(E*PM3QU=O)WdF5rCY*YgaebffceVK7?f.Tg.R#J$iq"Kj's,V.aMO/A4dU8*:=]i,V&fMCU!N6oh`Z3F%Z[Om&hF_e[9Qnrn6c'3;p+A6)sDj"A.5th%4>9N!l"!Kusm.PUdTAP_E'5I8WM"St\2FpFmJ9NsJ2qQ>QN:6rdt_>>LiCPmit:m_4?]^gH0s*cZijTZn[BY^6:%m-U=7Z(n5YAg(BgUsau;&,*dVWh3d'T=;WqVTQkQ>P_(%&Z[J=km6Opl0VTRm%f\<DR%h*$+5"o:]n_AK94(3"c<n(ZkofD;ia"_r6em@B:C?;CUm$nPD)p(L!qgg9"c%fJ-sW1$>s9Xl8#DH;,*lBj[g/P+8C*--bSW<)S%_Z\JDS1Aq6k!Q[/iC:@0-h18c0*Bp'Ru,"d=$@sZ?M8[r_EhkIME%B.V?C0OM.cl92\4Rp^B0;"]?gWhMGKpM%sF0cb-V&[a8h(gs!/b":3_YZ3[b1(R6q'8Jfi8rO:s)MbQh8&]o+?K:'is6SS[-Ne$[)@+)dK`H)1L%U445dhlq<N3Co+*/a[^#~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<53918e10266d52478d76219bb832cbec><53918e10266d52478d76219bb832cbec>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1757
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/23.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/23.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 765
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%a?#Q2d'Sc)R.upu1C8[Bn)ou=![N_P>ei;,*od3&O`^CpNP%t#G`Z[T/n5L]kOEoaDkI$?k$qPlPq$m&u@gO5A@DE$,%PVr@a>qK*Po1s"Kc0V*dZ!4dKM1qRJ_\.cYkYd<-F4YQ^Hm=IrOOU:rXLl^/UMM1UJScgKF!!/Ub*Cs=7U(CFBb[e&4G.k&pLNB#.u0W$XAqbFeNe/T7^AYha4L5gcok=_S(OmRN9gm>=<2Rc!D;n@18N"(a&>t;0`Z;,#bN*pMeH'-;j<r<f;*4bsN@u>?WLQ*HuoRXPOl)oO%0<Nmf*)(o.Lg6'-cUkf-H\AR*#%.9(K3U0POuUb&)emt3*qoG#9L\qS63Hpf[RLhtff-I/HbZh<B6=NOs]kan.17f5](msu^b(2Xh<K[o*Ic/.m;Mg"`sgalu/Q^l`jj1ucr6e-5dlcV3]-<*"X),%_)Do=+uGIiKMbN\CrX6cXC:Mu"k)l[bt=K;YE'+R?pLlE*YbZV,O;cA`=<VrW)id%"BQttJ&n*,N=\FHePhF9?;S9$3"9.L96<aKd[Q-(^TU9In\j$B=,Ss*o..gp>K[$>6R"h(14KT%\<$;-^b>nLe6+6+P;I_pMZbUf=3GdqBpX]:h`57?4:II=gQ=OZcX]<lq\<&_GV#ZG)D>6!#/S$?5@d<sS@_%CI>#8@idIt:=*l8n+o8WLO$e$\rLl,Hc9Q4F6ke0//=D1kUtg@[[EVSq#<AIb)FB"%Lbm=8*dB.p08X1sPb[Xe~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<2c1e4c2d04ade6e89cdbc3a4c1d8e9a0><2c1e4c2d04ade6e89cdbc3a4c1d8e9a0>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1757
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/24.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/24.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 769
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%a?#Q2d'Sc)R.ulG5[8Y7bA+PgEo!&oY9sVd,2Q8VQE],6G&WfuhpG7O(Bu*]3.'h(o*^;;AFtb'7_<Nu7",o6frdk.ai&ea(Uql.Ij#:_E!4LFjB9IEZf-MC\^BjTUDM,q&AMBP.!WNQ*;ra3eOn/7VWR\7$V_e_aHpEM7b9C6&mC=O81ebB4(]fca#E0^[qfZDr)lNjVQd96:EA4!e?]M94QZhLk*.GC60M/T<RVds2:&<O9K4?D6-5MQ$H'F+ILNS^c;%.f=X#uTEpieC11:-&H.(_+6AYUU?qCu)X)n5I3o6u\J?eZF-#ld/OK`1,W;!4\!L07E1m#XZH!<4<$SiZ>(.'iIZ`Ncq.M%:XO)"g;Jm16V*;Ua<Fnf4`UY[$h(93<_D`d\K6&_`%!Mh&_1q-C=Nqt-u_T9brMn*#pl%@Jj8JPfC-@p#A4_,I&Makg.j8[T/2/D\D`OtA&j@kG!M4?g;&@Uo%89u]Y6=KZKbUl!`d3\GCW`KJqqR9@"+\gq*rR=Mid:%EjA."PT`29ag4$uAj4$f'--O(']E?/8+aQR>X4^>S$;T(%;pWc2a3UOfNn#%kbk99D,!N.s9bjKtjgh[jLb+6+P;I`#ZAbVY=+H5P,82Ca>%Wi'^1(__KR`N%mRHZ&Rue24f*#[<lPEP6GJCrUkErV<B6K-Aq\)iPr$%5P!,Q=EtI'DI!lbH:[3j\AmhOW0N/3UXM=Y_lo_rD0F>EP5bJ"/_QUDS94h0TRAt\K'E&#M#ucK)~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<b358118f2c616a8935da48932587feff><b358118f2c616a8935da48932587feff>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1761
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/25.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/25.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 767
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*3$**<!hA2(Vep%)^NIIj)rmEH#_6CV6[o=m&5EkA[s.AXWf<LQC2f+f\'aC86o?T_]urb^rK4f0EJE`bU`s-!HW7Wf*PhhYBq%!f5Xg-+mOhJ*8rq\IU*-+q$i/;+?hW0<>T@u&"CrV4h`1=.,c15KYK(dL"i2'kYm/f/sg&jLp/t"mKe*oR.M<^#e,`dWmE"n/3p;VDc*\$gadOBiDIHK8P_phbG-?Nf3T".>8&]a0KEcC/@,aCGq*Ahbi,_e9V_O3XTC$!8e5M2D/Q>4)S;L9@/X-<"i'd.q2kO,*C.^8(Bea103o5@^Ppo$O)p_\dO:=;?_i6Oq0e?MRTuT)6/KK.#7hE*H7YQZLY67<fmGT(%+ZV)/c5DXhL`LumfVPTCI$Wc+CP0C:Y<9>Xg.lCC:b0#>[2#2Q4$4@$rtUYf[S[6BiDu[Y:]FEgk^*AlrA^<jOA?hA9q+n-Snk@Ltj_0Ceu?kHPSpPM_.oq%]+ecV4,!NWoBB3oB0C/@A2c%fg$;[_(B;-*Y`p)d"kN=2%&bZ0m5]j'Ps+GWJGg>KuFilT@=Gp33$/#72["N>&K$3@7,CD[0ACARtXaP<APhUZh#?$ih(1^S5Vch=q2W&XL0sbs/U"1*_3E<3q:.jo3OO:BfDSklIee3=6F0W&M)fn`r.AH@ND]LC=jC6UomB3X.2u&rru9Nme`n$;sacQU5g_jZCZ&h[2%Ei8#]_PWaXigB%skq?\KM?j>$OC41P+p,`oIF~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<943ae304f1d149f1f094ca3cf332bb52><943ae304f1d149f1f094ca3cf332bb52>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1759
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/26.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/26.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 767
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gQ'uA'R\fA3)Z`_>OA<%jPoYE0'u,;JM*g7V1#&"BiB]g-%W(G?cT]D'2&Ua,%p&.)1-bHJE-s9hr"JgiUH@N##'R9!LnfMHi\;;Vq)/^>HPLAC"I?)_BJK.J03_+?[c;Ve+j+8hnVH5Hs%77ILk2/*I<*._EbmuKSY%ZU^OY;<p5a#fe+(N+GcC\(d2=%\hWG,e.HR7mq&2L^K:JCNGhZHl'>Q=n:H:CBp'O$FI.bSgonC634:#=6=FoW_H:=dD":P]I$eCu`L2JVha\!=Su!KC>.;&=2JVSrT)J>aFpicdpN)SsfL<SEn-f.Rka/FXQ!`"G@34SU4f2X7^cMo5Vt0^/nh`@^;'[2kl@Fj!7Qm&[k@<4WWS)YTIJ)4I?S20P&uu1ciSOmY&[MLTQTg2tl[N@3k-W-S0<=K'GAqQ$%2fQa@%!s>NaPd-K<%Z\MnQR[S+7]QBsO';P*(sKYn?5'?Cso$Yp!#Hn^sL(`,Q6>1_s:DZcup['MY!,<9['Lq4CqB?m4(?fg$5Y]e,!LbABNi6=$D;gVGr')9*G<m;aTi+cjO6f\b.T?LWN(WoR1p1/LuMXY;!DoNU&MWPe?pWG,<F,)NX)P_\d)GYV#5-3u3dHAl*BD,;JD0YQ0Uaq2;8X7B"fSbD'Bah$mE;qI=Mh)[IK$"%[j1%&+O+gV9:agKOc#-5nr1!8b!]l3C`cecE"k\<'G&KurJ%d=j#=BV>GJ!6lYXr8'>@()WlqVf#TbHQ'@%ds;s*iZST~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<5c4e58fc365155d9329c096dfe992d53><5c4e58fc365155d9329c096dfe992d53>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1759
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/27.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/27.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 766
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?#Q2d'RfGR\C-bo:+c&R`oJ^Y>ER>ZCRf+&qN=:m`fr^k,h)bkN$1GJYS770aII>?3S\+s!U1[as4[Xk8A`DC(bc!$"3b!SEX#HfA(CroDUnoV2!_Y$i=gV_O9`9)k?f%aG^9Vc2olLe?e7`$hn`p37?>bdZrQT*+l^6hdY@?Y'`'XpZH:Vs#U8U9i<Lpj2C=uL>/GRT>Se<4ZPgj'i#:^GmKKGIiV&pPS>=1Nh;hEGGAAi;4uWU<.#^o('WWd;<Lt\*pN&H*39)FeH`t9>ZdqL3GF_s\;/LOM(bW#">OX:p5OXdXRls<Mr<6WBm?VVqQ!`ZnR)Z[/O(jh-(nR"H;u(i>H((7urEe<tGR+<o(j/rhc%khpe7?-/5DMlL0':u<M:[9maR;:O#cg8WGpm+sr*S+23PAgU:Q+mN[W$5c%ClNMi%\3empU>V6XWS&Mk.<KPB%5X1th+!l,`+/XAjMsgF'=0XGMO24Otp9@GaMp@^1J^L'-!7euG_=ga[cp0)r7L(!O&?3:"[Q+h6LXI_?33TcAD[_(@3-K(Xa(_7VmrMO;H3[Wo]fUYaun>Lhr>.$Rlq<Z"=4]@74K"9GdmUs,s$La:8@q`Kac_IIUY/P0V8SkWsZEi@=OC)\Qe'YR(i8N[TO]GGd7g222(#$f=\0"G,Gj?a>hK5MPJ@P+h%"f;1h23k00QKOGOIY3tknc%Xq<kF)J*ol#j?,mO8<bU*?d^6qm_nlXPel,ef$L@Id+T/ekh#%7qWOB_~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<f3d8ab36016186d0af8e315f3124a9d5><f3d8ab36016186d0af8e315f3124a9d5>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1758
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/28.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/28.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 766
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?#Q2d'RfGR\C-bo:*&pB`oN,,Cdgs[XDt+3l:VmQ)cHeMOAu,O1CaH>JY`X*^moK73V_675l/:Y]%I/o-%,QJ!>CQ!^s$@4V_F5lAt/k`Ait$(1QJLK51(_Z\VJpQp2(k1-?gU4JG`78F^8PQ*Ge2Lo]27V)[5[A,3!a-2Ok#He>EW5FeK")&7HXmdHB9(Usi.53%s1T6GmIt"Z[Z0UKl9]i2e0YlkPK-m#YiF,#4>>m3TU3L4BSaiA$B,Q05A&18TkWN[G6J'Gl8f2->4VH78BfF%\Nnm4KKT`O0k^rl+>m?2AWU"0"2n+\FZKdLDo@b<-8uUeo_fMfT'\8Qe$<ha^[WkpbKVe3/aW#S=hN_m4-.(dF?*:R7cRBHa/HXLg.U)Xpi(UIQ;42/"k*,V5Pd$[Xt5(Mrk+?d3*hQ^kH,=25k>L8t+k/2,H`(fTO(V_.l04;!K&h<G:1aQ_qkWpHOJ:N!F>'7FE]=JHj.W/Gtp`aT#rK^4CWYZ=JPk>q+G\&HNO;_ZaBPIr7NV;R*GqXl`h#BLJZ"h1_kpUF3V5OV3Ub*.'KIc06PYOJ-KC?/D0@T-K>*:.+Ge-h@Y_Q6'QF/pl::%I>ILm)38O<-2N&fM8O/QuqS6Tf].>#:/HnA^ng4;!pmQZmT+D/5LC>g!R/\QKC'>_^]n[gWeP(>*%hM#K&D.T>4fmnY_:%aVWDrUZS^Fq&Yo([0e8NpR)k/%"V4Bj0Mr@Hdm6X,3rcKlrbj5(;;tDZ0YfX1#\~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<d28205dda8bf4749f52c365428af048b><d28205dda8bf4749f52c365428af048b>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1758
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/29.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/29.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 764
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%aCQFoL'SaBkY;f*jZJ4`o\K^eX0C=q4C=f_)PPnt4f[:lZ5b%cM%`?g4VV,Vk);b+XkB5&M#,FFbrrtuDWIX^b0OOtA!16mt`"EjF7^!K@[U+/0d]VW1`0dJV!c`ltJ+\*ScPC^IIY)grpf1UqrB5$f48/H4KRne8#SHgB869]@:;Nh:o6i5=5S.?7aEbS^n&D.^:^>c.m]/ZQJ%5]eT"Ke_fst=-Gem7o/4iW/]$J8>mUn0]@p9m+TeJWB@4\_n[Ws?654%6gp<:DOpUq3?b_h02rjoJd7SV\*UVD(kgqmF]r>6j<p(7QJquAqkqU)^Eb0.:(M`@'f.1J'>hF/>F<Sf*kVo^6D,'a\T%pVLVlA9?2+(gk9k)8Wng#!'b^$>&ZGUrb=^(.pjeqeK"?bkh"T4.36Bs%'"f"742ki.a7=UlF&1K7XMYcYCNeY.l>hH9&<\Ik;f3N*Nf,H%t[/(9D;5+*R'A&R#]Yu-M1S66+8,'KcH%r2n:FgtFG?ZO5;m8F<a72okAUJUHg*\r]/MFN9RfZ;gpE_M:Of.J.;`K8,K;#J)kP<.V(#?Beb(1nM!/'S>][McIg3h-^2$W,!Il3WTkff@3mpcCSbkL;0kXbTaUCSMd[qB+ElM@jIG[9*r%EU%NsY*rcX*F\6e$J2ECAiCH?i@QGU(`]f@=Npmg]7\>=1*'T\j%4K&i8rO8qf6>Lh8i)S7C6aclNZZ'[-p/W>N2YkOTXaXKrH/s]8a'gYM6n<++'B`Ac~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<fc73ab4bef6b1a1de3a7a39541c60722><fc73ab4bef6b1a1de3a7a39541c60722>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1756
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/30.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/30.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 766
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*2un0WeBf*Mr4$#%?b55n[`J3]XZP(V6V6Gm&5EkA[s.=Pq4J>QC2f+fK!^U86o?TG=R1gJBqRV?ijdJR+Vnd*+n2&Y7n^3?MA<bY2cO89@OK'35TgJpq@.aZPsI*6%!GBW\2`t*]Bc6H@/J^SV.LZ;=qFj([h')Thc8tgK]bh+N!Q.HUl03`h_3_8%;L1=,"ZQHk'UG\jX*'F2-3:m#D]*8c"sQgH8*fIdI<TFYj+4$KG&#`A5VESYoBJ_]8)Yc6UR4h(#Z"XRo?/069c,eC\'aLT=)8(AunTf0f+EHN545Iis\orR*Qso#nNFZT+<9EuJU&K!R:Q._cKL:QojA365<k"Q1MV;3,;;r\16$24^isO5W]ab=-nf_HZLgnT-r8@1?nV#R.:NhhAb5di'/f/2msa_8W6/A:&7uc;=1]J9AO7^,AtBp=`D_b)KN"a^.D,78@^?>,Gpi5+05r6hCWG97(JO(+,'$%&;I/@`m%?=K//=\#]9Mqtt#p8sh->EAio46?(,A_g5OK76/@W_&Y'rS5Q+iV`^9&R)dUWpqiqA2<"_5WqBC,jr!/[)"hl3Zdp&94`;0?#c5bJcA3ak:5:rhJ&?\T8e"X23Rfp"D,;#@?*i6#MH06Gf3fVEimiT5Ssm0YL7%gtP3^`9fo3mJ"S5L*%$"EpCb`g%E$BF9lIt>#-%[6.FR=L(\hV`Qi"f>bGGV\^XKBj`InJN0<t,NZ0\srHr@4nf\B!I5K<,$g8%.7~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<dd5542b7857055fc6fd6e785dea542a4><dd5542b7857055fc6fd6e785dea542a4>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1758
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/31.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/31.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 767
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?#Q2d'RfGR\C-bo:+`f3D'3cX@k1HGA;rB^;I;3?CeP.75Vh`acPQ_Z"%s43+`krBkLdfZ"&]rdcfb?_(@^i-##%;K!)oA=R);VQk]$ZklZ(f/m5V7A\4#-Y_uXbn`ReZ\RGEGh%H9am=*9YfpTUXGTdQ`pN[28)aMF33\o@(aV*7>8D@8H+Jd?cipjqqDNCg=INc8<R=,"ZQHk'UG\jj6)1V_?M6jF$^1j_s'D%W[;^\3iKE_X?fJakIU':J$f/i"l6@1MlcB+c#1mhJrM<dGb.Y&ioJeC\%kL9#+WQMe)Hchm@TFq6o/^E?4EId*:tqk]7h/1G-'R`2gji$8c%g@(4VZLek"p[T@P!VhIYe771=5*T-FVR,sV3F%D[\`iKT=:>*P^(6#EZiP"ZTn(\bIpqg.oSa6NQCETli0$\OZ9:/IUSrY!_tq"S^,At$p=`DOWeFPdktXZ<78>GT>%T.iI<'tZL?SF;Nt'6PW,!VgYh4LNcZ9<,9"!\6]8g70/,j?@$$.COaTo+J$>qkG=DnSQ.&Op2\:_bjER-&#=3"2Vo-B@=)*Yd7/O$C=[GIACG&q!2XYCT'k/hIj0&k)'e=h&67\iV)g_Xu$'->V4Ar&ds+f;5U:_rT#=`"Oh&`]3[STs.bo3T-gBfGEfa6-'sJ'Q;N/=%KIO8;j16p"e7X8*bGK<FRNG'-!*i#B>aHLG5/9XPhL7=E$h\*ng![2#V.8#]_P\mah*VOO!Q?]DHQVnRN2%W;7HE0I`f~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<fe81ea158088930c96a4e6e2ab910325><fe81ea158088930c96a4e6e2ab910325>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1759
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/32.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/32.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 765
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*2un0WeBf""oO*.D3,alNRq/\ji+XY/X6b\?s!=(0$?+$XCP`_[*5$r_p0<55jH5_^,lCT"ap6$!>?#k^s$C5jtIH-HCY&uHJQ&%]8ip)/l=h9iX!$Pip/@ibjIao#4\DGX1CjnHe=:#kj]sUFqWXT7*4a=>r_Sl6D#Gq\%*IZ6%hBDmt'E+NCg=INc8=;=,"ZQHk'UG\jj6)4+=.RfGu83P4Y!7gH8*fIdI<TjdL]+L%.0]@[Uf3c;Q1`@?0A^c6UR4hCGi$XRo?O>j%DneC\%kL9#+W(AunTk<nfMHN545^EAJZrR*Qso#i!_ZT+<9.?-(h_*o8%Q/<sWVo^5G*997V!q6f<W5l2XIi'h39kWe6F1;kAEm`d23%ao`pc]g\YQhI;KE>3#s+S.Udi'/f/N4'b_8W6/A:&7uLS=#/!:+qMHu5lcm'W\HPT-l"PJ)j8MO`C\[7i7=pgaSe%FO\T*ZL>4R;X<\Yh28KEdTtT<iW.^fN%j4IK!lK8sh->EAio46?(*cQj8?%(1].d;5<%Zen6$_lK.,,.T.<X]A`pb:[3TDS5_)LU)6(3%C%TqAu,qJA$\qQltSj4EHXP,;>_(KPB1IE6He>j6#2+YeCcXYD5!=?pC140Sp5D5Ml.ogVB\c_Y2oG%Cc5e.'Z#1H0>g)W"1FRapi%!jAa8"2GS7hOGe*M(^YG5l2fO[qU8#qZV@hB[B]&icDMbEKKb'PgAu:"lemb66Z.JC$jr^U+[XA~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<8163be129f5df309e1f85ac2e3a62c37><8163be129f5df309e1f85ac2e3a62c37>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1757
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/33.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/33.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 761
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!gMWKG'R\5.*2un0WeBf*Mr4$#%?b55n[`J3]XVY2;IQd046k^I=^rR'X;]ctn1o(1$p/gOJCFhihe3NS(@^i-##%;K!&L*qR);U&l#d'[dHeM@g3$YeE/FE8&::ns(LNNfA9J(72i%tR?e%T6hns'56VgK\*(bC1&>_%<FQ&8K<VdD<\h3"L#U8UFP<4A&2^Z4m3l7HQ^+(rLkAq3Xd9Dhc3qpr]JnQfGP3%HMhj/8Jp1pi;Y+l;j:`(:430co5lS=g4*9M39F!bo&k>m/!B;LA=r\h786&j^nICOU(h26^Pq`2cIC_I@8q?::Goh3nig+VIrbgKDOLHI17"=IpAe:&KMR:iEW8`VHs!q6f<I2d"V+6K(d9kWe6A%301Em`d2n.tpjHlini=9I8.634.-J&:'ekli"g/2msa_51d]aS'!PS>#d?Jb<RnHu5lem'W\XS2XoBB0-hO'fiZBCRLgEnL4k^)^9J8*ZL>4?#CltYh28K2M%-.l>aFr?a_JW\%.1&P+*3h=f;J4*'C=3"^1,o=n)H#/%s5R.TIonj/@:>a+HG3"".*lXXRdgH>0cE`kmP"V-\\*qSXeH1:nS>=]uf/1/<>9I<NgD8SC,El,bh3Mn$K(D%"<8_QUa9n\i'#]t.t,DE>\bGEcA4P+0]u/4D67oul9LFhec&LuL_F\h\Eqo6_1e2gDq-hETh`C,^*iE^FU)oo(,sXjFcuV/D.UL6W::DJ#bp2:c4hkO`=I\G?R>Q+!I~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<7c0654b0943b7b9268315103096760e0><7c0654b0943b7b9268315103096760e0>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1753
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/34.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/34.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 770
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%a?#Q2d'Sc)R.ulG5[8Y7b@gqFYHu)5DPH8c$:$PH-S;i@j"XMRrrJ^PW$C7DS&TZb&SEGlm*=PKQYkech!)j@L5@M>1p]3'+.I\W7pl/H)J=0U89[^''\qEH3)Z`1?D6WlJ%VCV\i4jhmB`54h;Z6\U[<hQ-S493&G6h@DruukOoA#L))Wpo`9Rn6P*tW_5c=LK@(oR\bb3ro8Bs:hD?VdgJQZh,a3;i7o@$YE.Bso[h1`9mY%1Z;@9IuR&ngG)q%bi0@U)<XWY4Bf2ipXPpbKQ-iU@r_D/V_uhgW*]CD;<RsjS^'r5P?gN&cRA)$&?onU!?;J#)f8gfkVAb!rTCOGj;q;U<(c('Z]2SAj1Hq?o/Et[m-*WV<3^'loE_f@(dKH9C,FOKmt1q,IA3Q<WS!#o:'1WcY90IT@UUhn*-!m%@Jgg_5=/[Na^[YK;V&$MhA:q2q:B6ZLf808<04qNigCJo(_:7Loo(22&TV`JR*(9Ul!`f3nUc/`KJqqD6k:uoMGJ=B*+A32p"R%T`jdG,POLGgPH?]Yc@rqBsC;OU'5/Z[8`03&r#F#I!V&JI,q4UhV(;=\@'>lCqRGjD1iBGj/GXIMjj;ZOXBlQ/u%DS4Jo#M1CB\.H5b@8A]P6L:YSGqo?`1nNBD3MJM3YLERu4?b@;1:CBeE1j_O9;-c6cZU-5biHO`B;bc7u1R+2AZrGV1Glb7kZe(&?t#'CpZVR254<>964T2N)8Fi,s>b]aG#^KPD,8h\r8bs*dK[eK~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<4c916e7acd4a3387d9064467e92f995a><4c916e7acd4a3387d9064467e92f995a>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1762
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/35.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/35.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 765
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!CN%o\'`HlqEMYChS_D;kR"TD:Yr*-t<m7pBrPBbbAV(%2JSP46Nq6dS>TjZ9S9+*]a$.4F5jF!pDf>[n$i'K'""#.6J=4AAb[Di9oK!#sot"q$Af[3aL.$G%L]cH/Mm#d'1:mYY)oRN#YNd=VmpIs*U.=B+$m`JQLt\1ag2QI@\NWHLDDO9SJd?]gm"*N5)j=#a/`AgAY6p9fq&I=nFH(<0\(sB+(E=\oioCq(gFS;YDXBGma>Eu3$KG&'7P[\HSL%0Gr>aS>S4T+H\Q<2#=m;X(^<S=lW4'<eoN0Yuc2!X^chmLXFq6nD^VGn^DX!TdqIMR?=d7%hR"VFAmjnp<ddNCDP5$$bp[T@P*k7#6e7%$P5)^;SVR,sVfj>&8\`iHSlj!AVI.%Y;=:Nt8Hi^;2s2*X<Bnc5OQCESAiM&XXZ5biSbu"5KLNR_JXu;OuG1oi4MM#"WnP2MD78=lD=sdm)I8Y^:RV5WP`u6h.bdA!;=DXY_@IC?9XAi-=[`\Ba]Bj[08=1p<;;.4f>]@S(rH]F0JA*>>L#r+M1$Rf=<6A,\KgEGhVk^i^4Z?Ba/L^fAe<UrZ@E:"-!n*bCR1#k8.RulHV5J_W7R,id4sbq/1`YWp[+;/Vk&5'P"*H:EQWP8Qi`'pDTB`YMXtY"/;X7Agfo3mJGk4eA$6-5c=R@#IqX^X9e"Kd#-fKK+QWrYObFPVU%3H.JF3EYcdg0_>[-N3>\&;jqg]pM31K2%$4(&?IoWfLmquuRS[]0~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<601f67cf8eaac32792d35977c61657f7><601f67cf8eaac32792d35977c61657f7>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1757
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/36.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/36.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 766
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%!?#Q2d'RfGR\C-bo:+c&b0mUso<hqRo)J@d"^1>=<Qj?)F1@<uF3!@;,SuSFhR<.dZa$-pd+T94?5MQ@"-+s8.!>CPV^s$@4k:i)YAt/kpbdd,)AfOku#"1Z]j;r2k`TLedRGEGl$1_BHf6*57GH_s%d?@KIKaQZZ7(qn1D7Jbe;P,:0[tP_%6%hC/r'8olNCg%AQ>j&*Xp^5Aq&JI9p_r7_cMb)0;7K[]8[CdQD2Tf:]![lXJS,7U:`(;G-rG7"lQT9-kiZnn30U<9IBUK@ZdqJ]J"9g/U"\r20j)-?DTTZgr>;Hi[P:;frdZ*t];6H5jd0rtAkA]%6Pebj7OMd+<.:H=Oens(Nn$9d7c5MC;28`;qCqACC-#QpSqE::QAb1FKK%gbnnX:G_J7G0&P-"ertG*L:+t8IdrMdV/R3>IL0Ob+i!`WS0s!%Oi#>VV@&GUTjh)/*/D]Orl,`,N=KCea[ngnH=;*i.nQ;P+b(P\!TZ1FC,tJ<k$eD>Wi,0:EFBACoAd[[(DNaa)TbQ:$BYWC.j9SM_H<X4_\Smc!SI_PPj@L&Oo6WU`%GnEgNS99<F*8G''u[B$PnA>YZ2[KIASuWQUe-#oM^\B2O6JC*UnHZX@Sp=(*'>(j`AUOBI!1K,@41%Ip%#3p\o%=BhpZ?=94Tqj\WilbYZh9$X9Edg5iDVaR*'O/SrY3Yq>r=ZipFp[X`b.t#U.tl>uqIn<bU)*Bj0Mr@HdlkS!gBcKls?.$H7-L\G66r['d"~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<ecd98b9f891d102fb3211b5ef60e9be3><ecd98b9f891d102fb3211b5ef60e9be3>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1758
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/37.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/37.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 766
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%a?#Q2d'Sc)R.ulG5[8Y9HKn8$AO0(reOu:Ol8\N6-ZS<a;!D0\K5N<<J)0h#O7EE.1nakJT%L/^m=T:iPJ>%LST.jXS@KW"N%)`i,i^StB^g)rt2JL0N<Pg'IMa6Xe2Oo2dLSMs3Lu0==e:(C6Bn(o-d?ZpUVK!m?*CA8(>GNk6^/skS_g#J.!>%ZO"2YQO?VX9U"1>piq-FdSL=7T-q;<03AU"%c7hG&5N7)O7B'UX9PA^*Bi,W\MKYm5?a,/#]=;I<h7DHn5ZtC'hJ*rS(AQCpX3S1+(*7]%qO5]*P\>B4qp[^<AZ/1(od4YchW#K"]Wk?R70M)V>mB\d=&0.O_;rrFj7@#"Tm8i)]-ib>$N&i/Pp4r0:WUXLZH4C`8SBne0,u,]a,/3fe&QXfjZV\Hsq4D8;pZYg"4O$q`dF'<g2Iq0=",ET8Gmhge2Y]=43S53B]fBrJ,"jkpKiH6pm9%NtW/aYkLfbT&11[Id(?UX:HDET2,Gc*J?EJgVSmtjXQYq]4FXCOsBTp*,'h[?&6i(dAO[WQoNP$jFb:k[Ao$aF72L,p*jn^%ll@AUK</k*bY_fg:=IAnre6;'^Se72B]=K06,X6+'3;ElAkohi>6K@#OellVsk<B@/8?q3c(FuO*Sp9FA0;%NA2]Z>lF+rqPqdq]"EtM(Nh&$W2/[7`,HAQWERC`+VH4n%QGe*M(^YG5lf5cc\mb9A_\;d_Q6G*4EooutTYfm..e\j:OV6q`2%)8>CDZ0]B>IJh~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<dc3c365ac62b7873b0bde77d692d6efd><dc3c365ac62b7873b0bde77d692d6efd>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1758
|
||||||
|
%%EOF
|
||||||
74
tests/fixtures/classifier/invoice/38.pdf
vendored
Normal file
74
tests/fixtures/classifier/invoice/38.pdf
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
%PDF-1.3
|
||||||
|
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/F1 2 0 R /F2 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||||
|
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||||
|
>> /Rotate 0 /Trans <<
|
||||||
|
|
||||||
|
>>
|
||||||
|
/Type /Page
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Author (anonymous) /CreationDate (D:20260517071406-04'00') /Creator (anonymous) /Keywords () /ModDate (D:20260517071406-04'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||||
|
/Subject (unspecified) /Title (untitled) /Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<<
|
||||||
|
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<<
|
||||||
|
/Filter [ /ASCII85Decode /FlateDecode ] /Length 769
|
||||||
|
>>
|
||||||
|
stream
|
||||||
|
Gat%a?&tF>(kqGQ=1h+AZJ4`oq-jKqn=s8%=7&%,D6c*dN%L$@!OV++mkB-(@1n29A2rbCk:l@`(m)>5^'=mnZ%.n-0OOrk#FJX&`#NCK:6-((>`ZK4BuY-q@S"uZJN1HY^\GD4-aO$h^Hm7GrMhKurXLl^/UMT"_a)(#KW&rpUb1c4POg6@FIUAa&4G.ai_O644Yc10e,nh/HW=bGcfZF:UKbg)h0'/90/uLi`5s`/[TOG;h<_[\aL)$^$KG&'7P[\HSL%0Gr>s_@Sk5=JI8j[@=n,=#hj0RK<6&9/ql<r]k5Hk!kC*8<]*BL3?f4F?2nCo3H'uoc(1f6]-=JC?4%k4(bkiTj,X."\]mPKi#;.2;F[S-i&*$*Xl"iM.oiK";0"U3lFsHu1^A#DT<f8jD?bkt"^LhEYBr1K/QCESAl(Wb==UlFeAuL+6_n'"U=,4p'4(G6K`BpYhGc+_9[@CE\[7nk\qkSt&[?5Dq``b78Wg=8P6u8[;jo&?d9c_t<].`#PJ$t2e\Y>)3SlWpX)\;8TD+"JX3ApB9ZjsR%Od?l>;VpJ3)!'TKFAs3lB;94sdR%dQD5gC)(7S/O+a"L+$'[3G4<`]44mfR0q?bL<.5<YGj1.?C/m)nS>$]`RgISS1R]_0`_\8q_p\_".G1.5(/m#Q#eMiu&=:/t1lGg%?CP`;7EGaRUX=Mbn<?+fOqZ_!5cMP'U;sdaP+;AmT3?>"0ekp,4s.l5!QP8LA@(Mbojt!hAMTLrb:'Z"C!8jZ^Pl~>endstream
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 9
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000061 00000 n
|
||||||
|
0000000102 00000 n
|
||||||
|
0000000209 00000 n
|
||||||
|
0000000321 00000 n
|
||||||
|
0000000514 00000 n
|
||||||
|
0000000582 00000 n
|
||||||
|
0000000843 00000 n
|
||||||
|
0000000902 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/ID
|
||||||
|
[<117caee3c04a605dd758f791f9d1c6f0><117caee3c04a605dd758f791f9d1c6f0>]
|
||||||
|
% ReportLab generated PDF document -- digest (opensource)
|
||||||
|
|
||||||
|
/Info 6 0 R
|
||||||
|
/Root 5 0 R
|
||||||
|
/Size 9
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1761
|
||||||
|
%%EOF
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue