Package org.apache.pdfbox.examples.util
Class DrawPrintTextLocations
- java.lang.Object
-
- org.apache.pdfbox.contentstream.PDFStreamEngine
-
- org.apache.pdfbox.text.LegacyPDFStreamEngine
-
- org.apache.pdfbox.text.PDFTextStripper
-
- org.apache.pdfbox.examples.util.DrawPrintTextLocations
-
public class DrawPrintTextLocations extends PDFTextStripper
This is an example on how to get some x/y coordinates of text and to show them in a rendered image.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Stringfilenameprivate java.awt.geom.AffineTransformflipATprivate java.awt.Graphics2Dg2dprivate java.awt.geom.AffineTransformrotateAT(package private) static intSCALEprivate java.awt.geom.AffineTransformtransAT-
Fields inherited from class org.apache.pdfbox.text.PDFTextStripper
charactersByArticle, document, LINE_SEPARATOR, output
-
-
Constructor Summary
Constructors Constructor Description DrawPrintTextLocations(PDDocument document, java.lang.String filename)Instantiate a new PDFTextStripper object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.awt.ShapecalculateGlyphBounds(Matrix textRenderingMatrix, PDFont font, int code)static voidmain(java.lang.String[] args)This will print the documents data.protected voidshowGlyph(Matrix textRenderingMatrix, PDFont font, int code, Vector displacement)Called when a glyph is to be processed.private voidstripPage(int page)private static voidusage()This will print the usage for this document.protected voidwriteString(java.lang.String string, java.util.List<TextPosition> textPositions)Override the default functionality of PDFTextStripper.-
Methods inherited from class org.apache.pdfbox.text.PDFTextStripper
beginMarkedContentSequence, endArticle, endDocument, endMarkedContentSequence, endPage, getAddMoreFormatting, getArticleEnd, getArticleStart, getAverageCharTolerance, getCharactersByArticle, getCurrentPageNo, getDropThreshold, getEndBookmark, getEndPage, getIgnoreContentStreamSpaceGlyphs, getIndentThreshold, getLineSeparator, getListItemPatterns, getOutput, getPageEnd, getPageStart, getParagraphEnd, getParagraphStart, getSeparateByBeads, getSortByPosition, getSpacingTolerance, getStartBookmark, getStartPage, getSuppressDuplicateOverlappingText, getText, getWordSeparator, matchPattern, processPage, processPages, processTextPosition, setAddMoreFormatting, setArticleEnd, setArticleStart, setAverageCharTolerance, setDropThreshold, setEndBookmark, setEndPage, setIgnoreContentStreamSpaceGlyphs, setIndentThreshold, setLineSeparator, setListItemPatterns, setPageEnd, setPageStart, setParagraphEnd, setParagraphStart, setShouldSeparateByBeads, setSortByPosition, setSpacingTolerance, setStartBookmark, setStartPage, setSuppressDuplicateOverlappingText, setWordSeparator, startArticle, startArticle, startDocument, startPage, writeCharacters, writeLineSeparator, writePage, writePageEnd, writePageStart, writeParagraphEnd, writeParagraphSeparator, writeParagraphStart, writeString, writeText, writeWordSeparator
-
Methods inherited from class org.apache.pdfbox.text.LegacyPDFStreamEngine
computeFontHeight
-
Methods inherited from class org.apache.pdfbox.contentstream.PDFStreamEngine
addOperator, applyTextAdjustment, beginText, decreaseLevel, endText, getAppearance, getCurrentPage, getGraphicsStackSize, getGraphicsState, getInitialMatrix, getLevel, getResources, getTextLineMatrix, getTextMatrix, increaseLevel, isShouldProcessColorOperators, markedContentPoint, operatorException, processAnnotation, processChildStream, processOperator, processOperator, processSoftMask, processTilingPattern, processTilingPattern, processTransparencyGroup, processType3Stream, restoreGraphicsStack, restoreGraphicsState, saveGraphicsStack, saveGraphicsState, setLineDashPattern, setTextLineMatrix, setTextMatrix, showAnnotation, showFontGlyph, showForm, showText, showTextString, showTextStrings, showTransparencyGroup, showType3Glyph, transformedPoint, transformWidth, unsupportedOperator
-
-
-
-
Field Detail
-
flipAT
private java.awt.geom.AffineTransform flipAT
-
rotateAT
private java.awt.geom.AffineTransform rotateAT
-
transAT
private java.awt.geom.AffineTransform transAT
-
filename
private final java.lang.String filename
-
SCALE
static final int SCALE
- See Also:
- Constant Field Values
-
g2d
private java.awt.Graphics2D g2d
-
-
Constructor Detail
-
DrawPrintTextLocations
public DrawPrintTextLocations(PDDocument document, java.lang.String filename) throws java.io.IOException
Instantiate a new PDFTextStripper object.- Parameters:
document-filename-- Throws:
java.io.IOException- If there is an error loading the properties.
-
-
Method Detail
-
main
public static void main(java.lang.String[] args) throws java.io.IOExceptionThis will print the documents data.- Parameters:
args- The command line arguments.- Throws:
java.io.IOException- If there is an error parsing the document.
-
showGlyph
protected void showGlyph(Matrix textRenderingMatrix, PDFont font, int code, Vector displacement) throws java.io.IOException
Description copied from class:LegacyPDFStreamEngineCalled when a glyph is to be processed. The heuristic calculations here were originally written by Ben Litchfield for PDFStreamEngine.- Overrides:
showGlyphin classLegacyPDFStreamEngine- Parameters:
textRenderingMatrix- the current text rendering matrix, Trmfont- the current fontcode- internal PDF character code for the glyphdisplacement- the displacement (i.e. advance) of the glyph in text space- Throws:
java.io.IOException- if the glyph cannot be processed
-
calculateGlyphBounds
private java.awt.Shape calculateGlyphBounds(Matrix textRenderingMatrix, PDFont font, int code) throws java.io.IOException
- Throws:
java.io.IOException
-
stripPage
private void stripPage(int page) throws java.io.IOException- Throws:
java.io.IOException
-
writeString
protected void writeString(java.lang.String string, java.util.List<TextPosition> textPositions) throws java.io.IOExceptionOverride the default functionality of PDFTextStripper.- Overrides:
writeStringin classPDFTextStripper- Parameters:
string- The text to write to the stream.textPositions- The TextPositions belonging to the text.- Throws:
java.io.IOException- If there is an error when writing the text.
-
usage
private static void usage()
This will print the usage for this document.
-
-