Package org.apache.tika.parser.pdf.image
Class ImageGraphicsEngine
- java.lang.Object
-
- org.apache.pdfbox.contentstream.PDFStreamEngine
-
- org.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
-
- org.apache.tika.parser.pdf.image.ImageGraphicsEngine
-
public class ImageGraphicsEngine extends org.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
Copied nearly verbatim from PDFBox
-
-
Field Summary
Fields Modifier and Type Field Description protected EmbeddedDocumentExtractor
embeddedDocumentExtractor
protected boolean
extractInlineImageMetadataOnly
protected AtomicInteger
imageCounter
protected static List<String>
JB2
protected static List<String>
JP2
protected static List<String>
JPEG
protected static long
MAX_IMAGE_LENGTH_BYTES
protected int
pageNumber
protected Metadata
parentMetadata
protected ParseContext
parseContext
protected PDFParserConfig
pdfParserConfig
protected Map<org.apache.pdfbox.cos.COSStream,Integer>
processedInlineImages
protected boolean
useDirectJPEG
protected XHTMLContentHandler
xhtml
-
Constructor Summary
Constructors Modifier Constructor Description protected
ImageGraphicsEngine(org.apache.pdfbox.pdmodel.PDPage page, int pageNumber, EmbeddedDocumentExtractor embeddedDocumentExtractor, PDFParserConfig pdfParserConfig, Map<org.apache.pdfbox.cos.COSStream,Integer> processedInlineImages, AtomicInteger imageCounter, XHTMLContentHandler xhtml, Metadata parentMetadata, ParseContext parseContext)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendRectangle(Point2D p0, Point2D p1, Point2D p2, Point2D p3)
void
clip(int windingRule)
void
closePath()
protected static void
copyUpToMaxLength(InputStream is, OutputStream os)
void
curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
void
drawImage(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage)
void
endPath()
protected void
extractInlineImageMetadataOnly(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage, Metadata metadata)
void
fillAndStrokePath(int windingRule)
void
fillPath(int windingRule)
Point2D
getCurrentPoint()
List<IOException>
getExceptions()
protected String
getSuffix(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage, Metadata metadata)
protected void
handleCatchableIOE(IOException e)
protected static boolean
hasMasks(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage)
void
lineTo(float x, float y)
void
moveTo(float x, float y)
protected void
processImage(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage, int imageNumber)
void
run()
void
shadingFill(org.apache.pdfbox.cos.COSName shadingName)
protected void
showGlyph(org.apache.pdfbox.util.Matrix textRenderingMatrix, org.apache.pdfbox.pdmodel.font.PDFont font, int code, org.apache.pdfbox.util.Vector displacement)
void
strokePath()
protected BufferedImage
writeToBuffer(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage, String suffix, boolean directJPEG, OutputStream out)
-
Methods inherited from class org.apache.pdfbox.contentstream.PDFStreamEngine
addOperator, applyTextAdjustment, beginMarkedContentSequence, beginText, decreaseLevel, endMarkedContentSequence, endText, getAppearance, getCurrentPage, getGraphicsStackSize, getGraphicsState, getInitialMatrix, getLevel, getResources, getTextLineMatrix, getTextMatrix, increaseLevel, operatorException, processAnnotation, processChildStream, processOperator, processOperator, processPage, processSoftMask, processTilingPattern, processTilingPattern, processTransparencyGroup, processType3Stream, registerOperatorProcessor, restoreGraphicsStack, restoreGraphicsState, saveGraphicsStack, saveGraphicsState, setLineDashPattern, setTextLineMatrix, setTextMatrix, showAnnotation, showFontGlyph, showFontGlyph, showForm, showGlyph, showText, showTextString, showTextStrings, showTransparencyGroup, showType3Glyph, showType3Glyph, transformedPoint, transformWidth, unsupportedOperator
-
-
-
-
Field Detail
-
MAX_IMAGE_LENGTH_BYTES
protected static final long MAX_IMAGE_LENGTH_BYTES
- See Also:
- Constant Field Values
-
pageNumber
protected final int pageNumber
-
embeddedDocumentExtractor
protected final EmbeddedDocumentExtractor embeddedDocumentExtractor
-
pdfParserConfig
protected final PDFParserConfig pdfParserConfig
-
processedInlineImages
protected final Map<org.apache.pdfbox.cos.COSStream,Integer> processedInlineImages
-
imageCounter
protected final AtomicInteger imageCounter
-
parentMetadata
protected final Metadata parentMetadata
-
xhtml
protected final XHTMLContentHandler xhtml
-
parseContext
protected final ParseContext parseContext
-
extractInlineImageMetadataOnly
protected final boolean extractInlineImageMetadataOnly
-
useDirectJPEG
protected boolean useDirectJPEG
-
-
Constructor Detail
-
ImageGraphicsEngine
protected ImageGraphicsEngine(org.apache.pdfbox.pdmodel.PDPage page, int pageNumber, EmbeddedDocumentExtractor embeddedDocumentExtractor, PDFParserConfig pdfParserConfig, Map<org.apache.pdfbox.cos.COSStream,Integer> processedInlineImages, AtomicInteger imageCounter, XHTMLContentHandler xhtml, Metadata parentMetadata, ParseContext parseContext)
-
-
Method Detail
-
writeToBuffer
protected BufferedImage writeToBuffer(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage, String suffix, boolean directJPEG, OutputStream out) throws IOException, TikaException
- Throws:
IOException
TikaException
-
copyUpToMaxLength
protected static void copyUpToMaxLength(InputStream is, OutputStream os) throws IOException, TikaException
- Throws:
IOException
TikaException
-
hasMasks
protected static boolean hasMasks(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage) throws IOException
- Throws:
IOException
-
run
public void run() throws IOException
- Throws:
IOException
-
drawImage
public void drawImage(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage) throws IOException
- Specified by:
drawImage
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
appendRectangle
public void appendRectangle(Point2D p0, Point2D p1, Point2D p2, Point2D p3) throws IOException
- Specified by:
appendRectangle
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
clip
public void clip(int windingRule) throws IOException
- Specified by:
clip
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
moveTo
public void moveTo(float x, float y) throws IOException
- Specified by:
moveTo
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
lineTo
public void lineTo(float x, float y) throws IOException
- Specified by:
lineTo
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
curveTo
public void curveTo(float x1, float y1, float x2, float y2, float x3, float y3) throws IOException
- Specified by:
curveTo
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
getCurrentPoint
public Point2D getCurrentPoint() throws IOException
- Specified by:
getCurrentPoint
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
closePath
public void closePath() throws IOException
- Specified by:
closePath
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
endPath
public void endPath() throws IOException
- Specified by:
endPath
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
showGlyph
protected void showGlyph(org.apache.pdfbox.util.Matrix textRenderingMatrix, org.apache.pdfbox.pdmodel.font.PDFont font, int code, org.apache.pdfbox.util.Vector displacement) throws IOException
- Overrides:
showGlyph
in classorg.apache.pdfbox.contentstream.PDFStreamEngine
- Throws:
IOException
-
strokePath
public void strokePath() throws IOException
- Specified by:
strokePath
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
fillPath
public void fillPath(int windingRule) throws IOException
- Specified by:
fillPath
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
fillAndStrokePath
public void fillAndStrokePath(int windingRule) throws IOException
- Specified by:
fillAndStrokePath
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
shadingFill
public void shadingFill(org.apache.pdfbox.cos.COSName shadingName) throws IOException
- Specified by:
shadingFill
in classorg.apache.pdfbox.contentstream.PDFGraphicsStreamEngine
- Throws:
IOException
-
processImage
protected void processImage(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage, int imageNumber) throws IOException, TikaException, SAXException
- Throws:
IOException
TikaException
SAXException
-
extractInlineImageMetadataOnly
protected void extractInlineImageMetadataOnly(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage, Metadata metadata) throws IOException, SAXException
- Throws:
IOException
SAXException
-
getSuffix
protected String getSuffix(org.apache.pdfbox.pdmodel.graphics.image.PDImage pdImage, Metadata metadata) throws IOException
- Throws:
IOException
-
handleCatchableIOE
protected void handleCatchableIOE(IOException e) throws IOException
- Throws:
IOException
-
getExceptions
public List<IOException> getExceptions()
-
-