Ghostscript

PostScript and PDF interpreter/renderer from Artifex — the reference engine that many other PDF tools build on or shell out to under the hood. Converts PostScript and PDF to raster images, plain text, DOCX, PCL, and XPS; compresses PDFs while preserving visual quality; converts to and validates against the PDF/A archival standard; and adds a searchable OCR text layer to scanned pages. Also handles imposition (N-up page layout), ICC color management, and ZUGFeRD/Factur-X e-invoicing embedding.

AGPL/commercial dual-licensed (also offered as a paid 'Ghostscript Office' edition).

Sample Results

Real output from running this tool against a sample PDF, as part of PDFog's open-source PDF tooling benchmark.

Input: sample-brochure.pdf

Loading PDF…

gs

gs -dBATCH -dNOPAUSE -sDEVICE=txtwrite -sOutputFile="sample-brochure--ghostscript-c--gs.txt" "sample-brochure.pdf"

Output: sample-brochure--ghostscript-c--gs.txt

       221 Queen Street, Melbourne VIC 3000
       apartment     2      1      1                                                                          $1,000,000
                                                                                                       Prince Cascading
                                                                                                           1234-5678
                                                                                       Additional Information
                                                                                       Land Size               1171m2
                                                                                       House Size              -
                                                                                       Map Ref.                -
                                                                                       Energy Rating           -
                                                                                       Council Rates           -
                                                                                       Water Rates             -
       WARM BEAUTIFUL APARTMENT
       Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc turpis ante, fermentum ac
       cursus vitae, tempus vel ipsum. Proin justo lorem, mattis sed pharetra ac, vehicula
       tincidunt sem. Mauris est leo, scelerisque at gravida vel, interdum quis felis. Nullam
       nibh magna, consectetur eu aliquet ac, sollicitudin eget nisl. Praesent nibh tellus,
       elementum ut scelerisque a, pretium eget libero. Morbi sodales tincidunt turpis et
       sagittis. Aenean sed dictum nisi.
       Phasellus quis metus lectus. Donec varius pellentesque purus, et ornare enim
       pellentesque sed. Morbi quam augue, pulvinar sit amet mollis in, euismod porta orci.
       Quisque rutrum egestas enim ac viverra. Mauris blandit tristique feugiat. Ut molestie
       molestie turpis sed elementum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
       Maecenas in nunc odio. Nunc sagittis, mi ut ornare pellentesque, orci augue dapibus
       est, vel rutrum elit orci vel augue.

-dTextFormat=3: approximate original layout/spacing, UTF-8 text.

gs -dBATCH -dNOPAUSE -sDEVICE=txtwrite -dTextFormat=3 -sOutputFile="sample-brochure--ghostscript-c--gs--textformat3.txt" "sample-brochure.pdf"

Output: sample-brochure--ghostscript-c--gs--textformat3.txt

       221 Queen Street, Melbourne VIC 3000
       apartment     2      1      1                                                                          $1,000,000
                                                                                                       Prince Cascading
                                                                                                           1234-5678
                                                                                       Additional Information
                                                                                       Land Size               1171m2
                                                                                       House Size              -
                                                                                       Map Ref.                -
                                                                                       Energy Rating           -
                                                                                       Council Rates           -
                                                                                       Water Rates             -
       WARM BEAUTIFUL APARTMENT
       Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc turpis ante, fermentum ac
       cursus vitae, tempus vel ipsum. Proin justo lorem, mattis sed pharetra ac, vehicula
       tincidunt sem. Mauris est leo, scelerisque at gravida vel, interdum quis felis. Nullam
       nibh magna, consectetur eu aliquet ac, sollicitudin eget nisl. Praesent nibh tellus,
       elementum ut scelerisque a, pretium eget libero. Morbi sodales tincidunt turpis et
       sagittis. Aenean sed dictum nisi.
       Phasellus quis metus lectus. Donec varius pellentesque purus, et ornare enim
       pellentesque sed. Morbi quam augue, pulvinar sit amet mollis in, euismod porta orci.
       Quisque rutrum egestas enim ac viverra. Mauris blandit tristique feugiat. Ut molestie
       molestie turpis sed elementum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
       Maecenas in nunc odio. Nunc sagittis, mi ut ornare pellentesque, orci augue dapibus
       est, vel rutrum elit orci vel augue.

-dTextFormat=1: structured XML with per-character coordinates/font info.

gs -dBATCH -dNOPAUSE -sDEVICE=txtwrite -dTextFormat=1 -sOutputFile="sample-brochure--ghostscript-c--gs--textformat1.xml" "sample-brochure.pdf"

ps2ascii

ps2ascii "sample-brochure.pdf" >"sample-brochure--ghostscript-c--ps2ascii.txt"

Output: sample-brochure--ghostscript-c--ps2ascii.txt

       221 Queen Street, Melbourne VIC 3000
       apartment     2      1      1                                                                          $1,000,000
                                                                                                       Prince Cascading
                                                                                                           1234-5678
                                                                                       Additional Information
                                                                                       Land Size               1171m2
                                                                                       House Size              -
                                                                                       Map Ref.                -
                                                                                       Energy Rating           -
                                                                                       Council Rates           -
                                                                                       Water Rates             -
       WARM BEAUTIFUL APARTMENT
       Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc turpis ante, fermentum ac
       cursus vitae, tempus vel ipsum. Proin justo lorem, mattis sed pharetra ac, vehicula
       tincidunt sem. Mauris est leo, scelerisque at gravida vel, interdum quis felis. Nullam
       nibh magna, consectetur eu aliquet ac, sollicitudin eget nisl. Praesent nibh tellus,
       elementum ut scelerisque a, pretium eget libero. Morbi sodales tincidunt turpis et
       sagittis. Aenean sed dictum nisi.
       Phasellus quis metus lectus. Donec varius pellentesque purus, et ornare enim
       pellentesque sed. Morbi quam augue, pulvinar sit amet mollis in, euismod porta orci.
       Quisque rutrum egestas enim ac viverra. Mauris blandit tristique feugiat. Ut molestie
       molestie turpis sed elementum. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
       Maecenas in nunc odio. Nunc sagittis, mi ut ornare pellentesque, orci augue dapibus
       est, vel rutrum elit orci vel augue.