gettext exracts partial text from pdf, only heading from each page
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 2.7k
- Forks
- 579
- Avg merge
- 2m
- Merged PRs (30d)
- 1
Description
- PHP Version: 8.3
- PDFParser Version: 2.11
Description:
Trying to get full text from the PDF, using gettext() extract only the few lines from each page but if use getObjects() I can get text all the text but then content order is random.
PDF input
Expected output & actual output
actual output
CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 2 OF 29 PAGES SPE4A6-25-T-189V SECTION A CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 3 OF 29 PAGES SPE4A6-25-T-189V SECTION A CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 4 OF 29 PAGES SPE4A6-25-T-189V SECTION A CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 5 OF 29 PAGES SPE4A6-25-T-189V SECTION A CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 6 OF 29 PAGES SPE4A6-25-T-189V SECTION A CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 7 OF 29 PAGES SPE4A6-25-T-189V SECTION B CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 8 OF 29 PAGES SPE4A6-25-T-189V SECTION B CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 9 OF 29 PAGES SPE4A6-25-T-189V SECTION B CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 10 OF 29 PAGES SPE4A6-25-T-189V SECTION B CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 11 OF 29 PAGES SPE4A6-25-T-189V SECTION B CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 12 OF 29 PAGES SPE4A6-25-T-189V SECTION B CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: CONTINUED ON NEXT PAGE PAGE 13 OF 29 PAGES SPE4A6-25-T-189V SECTION B CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 14 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 15 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION I - CONTRACT CLAUSES (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 16 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION I - CONTRACT CLAUSES (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 17 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION I - CONTRACT CLAUSES (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 18 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION I - CONTRACT CLAUSES (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 19 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION I - CONTRACT CLAUSES (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 20 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION I - CONTRACT CLAUSES (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 21 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION K - REPRESENTATIONS, CERTIFICATIONS AND STATEMENTS (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 22 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION K - REPRESENTATIONS, CERTIFICATIONS AND STATEMENTS (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 23 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION K - REPRESENTATIONS, CERTIFICATIONS AND STATEMENTS (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 24 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION K - REPRESENTATIONS, CERTIFICATIONS AND STATEMENTS (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 25 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION K - REPRESENTATIONS, CERTIFICATIONS AND STATEMENTS (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 26 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION K - REPRESENTATIONS, CERTIFICATIONS AND STATEMENTS (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 27 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION K - REPRESENTATIONS, CERTIFICATIONS AND STATEMENTS (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 28 OF 29 PAGES CONTINUED ON NEXT PAGE SPE4A6-25-T-189V SECTION K - REPRESENTATIONS, CERTIFICATIONS AND STATEMENTS (CONTINUED) CONTINUATION SHEET REFERENCE NO. OF DOCUMENT BEING CONTINUED: PAGE 29 OF 29 PAGES SPE4A6-25-T-189V SECTION K - REPRESENTATIONS, CERTIFICATIONS AND STATEMENTS (CONTINUED)
Code
Getting only partial text using gettext
echo $pdf->getText();
Shows all the text but in random order
$objects = $pdf->getObjects();
foreach ($objects as $key => $object) {
echo $object->getText();
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the report with sample.pdf and the PHP 8.3/PDFParser 2.11 setup, comparing getText() with the getObjects() loop. Trace how getText() assembles page content and how object order is handled. Done means extracting the document's full text in the expected page and reading order rather than returning only headings or randomly ordered text.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100