summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2018-06-08 15:31:10 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-06-08 15:31:10 +0000
commit49fa50d7e922746c02f7b70c8436466d7f62696a (patch)
tree6a66f2a89d5f4c18cd5c507b02a79ae97f18c9c7 /testing
parenta0608aaa5765da478af969db50a30a84f0cc3813 (diff)
downloadpdfium-49fa50d7e922746c02f7b70c8436466d7f62696a.tar.xz
Use FPDFText_GetBoundedText() to get the visible text in a test.
Add a test PDF with multiple pages, each with a different media box and crop box. Demonstrate how FPDFText_GetText() gets all the text on the page, and how FPDFText_GetBoundedText() with the right bounding boxes gets only the visible text on the page. Also fix a small nit in CPDF_TextPage::GetTextByRect() found while writing this CL. BUG=pdfium:387 Change-Id: I9ce4bb181e2ba5b454ea1341bbccef9ba94c9cd8 Reviewed-on: https://pdfium-review.googlesource.com/34550 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'testing')
-rw-r--r--testing/resources/cropped_text.in98
-rw-r--r--testing/resources/cropped_text.pdf114
2 files changed, 212 insertions, 0 deletions
diff --git a/testing/resources/cropped_text.in b/testing/resources/cropped_text.in
new file mode 100644
index 0000000000..c8632de112
--- /dev/null
+++ b/testing/resources/cropped_text.in
@@ -0,0 +1,98 @@
+{{header}}
+{{object 1 0}} <<
+ /Type /Catalog
+ /Pages 2 0 R
+>>
+endobj
+{{object 2 0}} <<
+ /Type /Pages
+ /Count 4
+ /Kids [ 6 0 R 7 0 R 8 0 R 9 0 R ]
+>>
+endobj
+{{object 3 0}} <<
+ /Type /Font
+ /Subtype /Type1
+ /BaseFont /Times-Roman
+>>
+endobj
+{{object 4 0}} <<
+ /Type /Font
+ /Subtype /Type1
+ /BaseFont /Helvetica
+>>
+endobj
+{{object 5 0}} <<
+ {{streamlen}}
+>>
+stream
+BT
+20 50 Td
+/F1 12 Tf
+(Hello, world!) Tj
+0 50 Td
+/F2 16 Tf
+(Goodbye, world!) Tj
+ET
+endstream
+endobj
+{{object 6 0}} <<
+ /Type /Page
+ /Parent 2 0 R
+ /MediaBox [ 0 0 200 200 ]
+ /CropBox [ 50 50 150 150 ]
+ /Resources <<
+ /Font <<
+ /F1 3 0 R
+ /F2 4 0 R
+ >>
+ >>
+ /Contents 5 0 R
+>>
+endobj
+{{object 7 0}} <<
+ /Type /Page
+ /Parent 2 0 R
+ /MediaBox [ -50 -50 200 200 ]
+ /CropBox [ 50 50 150 150 ]
+ /Resources <<
+ /Font <<
+ /F1 3 0 R
+ /F2 4 0 R
+ >>
+ >>
+ /Contents 5 0 R
+>>
+endobj
+{{object 8 0}} <<
+ /Type /Page
+ /Parent 2 0 R
+ /MediaBox [ 0 0 200 200 ]
+ /CropBox [ 60 60 150 150 ]
+ /Resources <<
+ /Font <<
+ /F1 3 0 R
+ /F2 4 0 R
+ >>
+ >>
+ /Contents 5 0 R
+>>
+endobj
+{{object 9 0}} <<
+ /Type /Page
+ /Parent 2 0 R
+ /MediaBox [ 0 0 200 200 ]
+ /CropBox [ 150 150 60 60 ]
+ /Resources <<
+ /Font <<
+ /F1 3 0 R
+ /F2 4 0 R
+ >>
+ >>
+ /Contents 5 0 R
+>>
+endobj
+{{xref}}
+{{trailer}}
+{{startxref}}
+%%EOF
diff --git a/testing/resources/cropped_text.pdf b/testing/resources/cropped_text.pdf
new file mode 100644
index 0000000000..02d50c6545
--- /dev/null
+++ b/testing/resources/cropped_text.pdf
@@ -0,0 +1,114 @@
+%PDF-1.7
+% ò¤ô
+1 0 obj <<
+ /Type /Catalog
+ /Pages 2 0 R
+>>
+endobj
+2 0 obj <<
+ /Type /Pages
+ /Count 4
+ /Kids [ 6 0 R 7 0 R 8 0 R 9 0 R ]
+>>
+endobj
+3 0 obj <<
+ /Type /Font
+ /Subtype /Type1
+ /BaseFont /Times-Roman
+>>
+endobj
+4 0 obj <<
+ /Type /Font
+ /Subtype /Type1
+ /BaseFont /Helvetica
+>>
+endobj
+5 0 obj <<
+ /Length 83
+>>
+stream
+BT
+20 50 Td
+/F1 12 Tf
+(Hello, world!) Tj
+0 50 Td
+/F2 16 Tf
+(Goodbye, world!) Tj
+ET
+endstream
+endobj
+6 0 obj <<
+ /Type /Page
+ /Parent 2 0 R
+ /MediaBox [ 0 0 200 200 ]
+ /CropBox [ 50 50 150 150 ]
+ /Resources <<
+ /Font <<
+ /F1 3 0 R
+ /F2 4 0 R
+ >>
+ >>
+ /Contents 5 0 R
+>>
+endobj
+7 0 obj <<
+ /Type /Page
+ /Parent 2 0 R
+ /MediaBox [ -50 -50 200 200 ]
+ /CropBox [ 50 50 150 150 ]
+ /Resources <<
+ /Font <<
+ /F1 3 0 R
+ /F2 4 0 R
+ >>
+ >>
+ /Contents 5 0 R
+>>
+endobj
+8 0 obj <<
+ /Type /Page
+ /Parent 2 0 R
+ /MediaBox [ 0 0 200 200 ]
+ /CropBox [ 60 60 150 150 ]
+ /Resources <<
+ /Font <<
+ /F1 3 0 R
+ /F2 4 0 R
+ >>
+ >>
+ /Contents 5 0 R
+>>
+endobj
+9 0 obj <<
+ /Type /Page
+ /Parent 2 0 R
+ /MediaBox [ 0 0 200 200 ]
+ /CropBox [ 150 150 60 60 ]
+ /Resources <<
+ /Font <<
+ /F1 3 0 R
+ /F2 4 0 R
+ >>
+ >>
+ /Contents 5 0 R
+>>
+endobj
+xref
+0 10
+0000000000 65535 f
+0000000015 00000 n
+0000000068 00000 n
+0000000151 00000 n
+0000000229 00000 n
+0000000305 00000 n
+0000000439 00000 n
+0000000638 00000 n
+0000000841 00000 n
+0000001040 00000 n
+trailer <<
+ /Root 1 0 R
+ /Size 10
+>>
+startxref
+1239
+%%EOF