Class PdfDecoderServer
- All Implemented Interfaces:
PdfDecoderInt
Examples showing usage in org.jpedal.examples
We recommend you access JPedal using only public methods listed in API
-
Field Summary
FieldsFields inherited from interface org.jpedal.PdfDecoderInt
CLIPPEDIMAGES, FINALIMAGES, NOTEXTPRINT, RASTERIZE_FORMS, RAWCOMMANDS, RAWIMAGES, REMOVE_NOFORMS, REMOVE_RENDERSHAPES, RENDERIMAGES, RENDERTEXT, STANDARDTEXTSTRINGPRINT, SUBSTITUTE_FONT_USING_FAMILY_NAME, SUBSTITUTE_FONT_USING_FILE_NAME, SUBSTITUTE_FONT_USING_FULL_FONT_NAME, SUBSTITUTE_FONT_USING_POSTSCRIPT_NAME, SUBSTITUTE_FONT_USING_POSTSCRIPT_NAME_USE_FAMILY_NAME_IF_DUPLICATES, TEXT, TEXTCOLOR, TEXTGLYPHPRINT, TEXTSTRINGPRINT, XFORMMETADATA -
Constructor Summary
ConstructorsConstructorDescriptionrecommended way to create for most usesPdfDecoderServer(boolean newRender) Recommend Constructor to use is PdfDecoder() -
Method Summary
Modifier and TypeMethodDescriptionvoidaddExternalHandler(Object newHandler, int type) not part of API used internallyvoidremove all displayed objects for JPanel display (wipes current page)final voidconvenience method to close the current PDF file and release all resources/delete any temporary filesfinal voiddecodePage(int rawPage) decode a page, - page must be between 1 and PdfDecoder.getPageCount() - Will kill off if already runningfinal voiddecodePageInBackground(int i) decode a page as a background thread (use other background methods to access data)final voiddispose()convenience method to remove all items from memory If you wish to clear all static objects as well, you will also need to call disposeAllStatic()static voidremove all static elements - only do once completely finished with JPedal as will not be reinitialisedvoiddrawAdditionalObjectsOverPage(int page, int[] type, Color[] colors, Object[] obj) allow user to add grapical content on top of page - for display ONLY Additional calls will overwrite current settings on page ONLY works in SINGLE VIEW displaymodevoidflushAdditionalObjectsOnPage(int page) allow user to remove all additional grapical content from the page (only for display) ONLY works in SINGLE VIEW displaymodefinal voidflushObjectValues(boolean reinit) provide method for outside class to clear store of objects once written out to reclaim memoryorg.jpedal.grouping.PdfGroupingAlgorithmsreturns object containing grouped text from background grouping - Please see org.jpedal.examples.text for example codeorg.jpedal.parser.DecoderOptionsReturn decoder options as object for cases where value is needed externally and can't be staticorg.jpedal.display.DisplayOffsetsintcurrent page rotation (in addition to rotation in file) in degrees So if user turns page by 90 degrees, value will be 90intreturns view mode used - ie SINGLE_PAGE,CONTINUOUS,FACING,CONTINUOUS_FACING (no effect in OS versions)org.jpedal.utils.DPIFactoryreturn handle on PDFFactory which adjusts display size so matches size in Acrobatorg.jpedal.render.DynamicVectorRendererNot part of API - used internallyorg.jpedal.render.DynamicVectorRenderergetDynamicRenderer(boolean reset) Not part of API - used internallyorg.jpedal.external.ExternalHandlersgetExternalHandler(int type) not part of API used internallyfinal org.jpedal.objects.PdfFileInformationmethod to return null or object giving access info fields and metadata.currently open PDF file nameorg.jpedal.objects.acroforms.AcroRendererAllow user to access Forms renderer object if neededorg.jpedal.grouping.PdfGroupingAlgorithmsreturns object containing grouped text of last decoded page - if no page decoded, a Runtime exception is thrown to warn user Please see org.jpedal.examples.text for example code.floatreturn scaleup factor applied to last Hires image of page generatedgetInfo(int type) Returns list of the fonts used on the current page decoded or null type can be PdfDictionary.Font or PdfDictionary.ImageintReturn amount to inset the page rectangle height byintReturn amount to inset the page rectangle width byorg.jpedal.io.PdfObjectReadergetIO()allow access to PDF fileorg.jpedal.objects.JavascriptAllow user to access javascript object if neededgetJPedalObject(int id) Not part of API - used internallyintreturn page number for last page decoded (only use in SingleDisplay mode)return markedContent object as XML DocumentgetMarkedContent(String imagesOutDir, String imagesOutFormat) return markedContent object as XML Document and write the figures to a directoryDocument[]Document[]getMarkedContentPerPage(String imagesOutDir, String imagesOutFormat) int[]org.jpedal.io.ObjectStorereturn object which provides access to file images and namefinal Documentreturn a DOM document containing the PDF Outline object as a DOM Document - may return nullorg.jpedal.objects.outlines.OutlineDataprovide direct access to outlineData objectintreturn type of alignment for pages if smaller than panel - see options in Display class.getPageAsHiRes(int pageIndex) getPageAsHiRes(int pageIndex, boolean isTransparent) getPageAsHiRes(int pageIndex, Map<Integer, Object> params) getPageAsHiRes(int pageIndex, Map<Integer, Object> params, boolean isTransparent) getPageAsImage(int pageIndex) generate BufferedImage of a page in current filegetPageAsImage(int pageIndex, float scaling) generate BufferedImage of a page in current file with the given scalinggetPageAsTransparentImage(int pageIndex) generate BufferedImage of a page in current filefinal intget page count of current PDF filereturn any errors or other messages while calling decodePage() - zero length is no problemsbooleangetPageDecodeStatus(int status) returns booleans based on flags inDecodeStatusgetPageDecodeStatusReport(int status) get page statuses (flags inDecodeStatus)intgiven a ref, what is the pagegetPageInfo(int type) return details on page for type (defined in org.jpedal.constants.PageInfo) or null if no values Unrecognised key will throw a RunTime exceptionintcurrent logical page numberorg.jpedal.display.DisplaygetPages()not part of API - do not useint[]final org.jpedal.objects.PdfDataNOT PART OF APIfinal org.jpedal.objects.PdfImageDataprovide method for outside class to get data object containing images.final org.jpedal.objects.PdfDataAccess should not generally be required to this class but used in examples.final intget sizes of panel - This is the PDF pagesizefinal org.jpedal.objects.PdfImageDataprovide method for outside class to get data object containing imagesfinal org.jpedal.objects.PdfPageDataProvides method for outside class to get data object containing information on the page for calculating grouping
Please note: Structure of PdfPageData is not guaranteed to remain constant.final Stringget PDF version in filefinal intget sizes of panel
This is the PDF pagesize (as set in the PDF from pagesize) - It now includes any scaling factor you have setfloatreturns current scaling value used internallyintReturn amount to scroll window by when scrolling (default is 10).getSelectedRectangleOnscreen(float t_x1, float t_y1, float t_x2, float t_y2, float scaling) intretusn a value defined in SpecialOptions used internally and in custom JPedal releases in PdfDecoder - always returns 0 in this classaccess textlines objectintorg.jpedal.objects.raw.PdfObjectbooleanflag to show if we suspect problem with some imagesbooleanshows if embedded fonts present on page just decodedfinal booleanflag to show if PDF document contains an outlinestatic voidinit(boolean newEmbedWidthData) This will be needed for text extraction and set to true as paramter makes sure widths included in text streamfinal booleanreturn true if the current pdf file is encrypted
check isFileViewable(),
if file is encrypted and not viewable - a user specified password is needed.booleanshow if content can be extractedbooleanshow if encrypted file can be viewed,
if false a password needs enteringbooleanisForm()return true if currently open PDF file is a PDF formbooleantrack if file still loaded in backgroundbooleanisOpen()see if file open - may not be open if user interrupted open or problem encounteredbooleanisPageAvailable(int rawPage) see if page available if in Linearized mode or return truefinal booleanshow if encryption password has been supplied or set a certificatebooleanshows if text extraction is XML or pure textstatic voidmodifyJPedalParameters(Map<Integer, Object> values) allow user to alter certain values in software such as Colour,voidmodifyNonstaticJPedalParameters(Map<Integer, Object> values) allow user to alter certain values in software such as Colour,final voidopenPdfArray(byte[] data) routine to open a byte stream containing the PDF file and extract key info from pdf file so we can decode any pages.final voidopenPdfArray(byte[] data, String password) routine to open a byte stream containing the PDF file and extract key info from pdf file so we can decode any pages.final voidopenPdfFile(String filename) routine to open PDF file and extract key info from pdf file so we can decode any pages.final voidopenPdfFile(String filename, String password) routine to open PDF file and extract key info from pdf file so we can decode any pages which also sets password.voidopenPdfFile(String filename, Certificate certificate, PrivateKey key) allow user to open file using Certificate and keyfinal booleanopenPdfFileFromInputStream(InputStream is, boolean supportLinearized) routine to open PDF file via InputStream and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves -
You must explicitly close any open files with closePdfFile() to Java will not release all the memoryfinal booleanopenPdfFileFromInputStream(InputStream is, boolean supportLinearized, String password) routine to open PDF file via InputStream and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves -
You must explicitly close any open files with closePdfFile() to Java will not release all the memoryfinal voidopenPdfFileFromStream(Object filename, String password) routine to open PDF file and extract key info from pdf file so we can decode any pages which also sets password.final booleanopenPdfFileFromURL(String pdfUrl, boolean supportLinearized) routine to open PDF file via URL and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves - Also reads the form data - Based on an idea by Peter Jacobsen
You must explicitly close any open files with closePdfFile() so Java will release all the memoryfinal booleanopenPdfFileFromURL(String pdfUrl, boolean supportLinearized, String password) routine to open PDF file via URL and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves - Also reads the form data - Based on an idea by Peter Jacobsen
You must explicitly close any open files with closePdfFile() so Java will release all the memoryvoidrepaint()voidvoidrepaintPane(int page) voidvoidresetForNonPDFPage(int pageCount) used for non-PDF files to reset pagevoidsetDisplayRotation(int newRotation) final voidsetEncryptionPassword(String password) set a password for encryption - software will resolve if user or owner password- calls verifyAccess() from 2.74 so no separate call neededvoidensure that files are always encrypted if cached to disk regardless of whether file has a password setfinal voidsetExtractionMode(int mode) set extraction mode telling JPedal what to extract - (TEXT,RAWIMAGES,FINALIMAGES - add together to combine) - See org.jpedal.examples for specific extraction examplesfinal voidsetExtractionMode(int mode, float scaling) Please do not use for general usage.voidsetHardwareAccelerationforScreen(boolean useAcceleration) voidsetInset(int width, int height) voidsetObjectStore(org.jpedal.io.ObjectStore newStore) return object which provides access to file images and name (use not recommended)voidsetPageMode(int mode) Not part of API - used internallyfinal voidsetPageParameters(float scaling, int pageNumber) initialise panel and set size to fit PDF page
intializes display with rotation set to the default, specified in the PDF document scaling value of -1 means keep existing settingfinal voidsetPageParameters(float scaling, int pageNumber, int newRotation) calls setPageParameters(scaling,pageNumber) after setting rotation to draw pagevoidsetPDFBorder(Border newBorder) voidsetPreviewThumbnail(BufferedImage previewImage, String previewText) internal method used by Viewer to provide preview of PDF in Viewerfinal voidsetRenderMode(int mode) set render mode to state what is displayed onscreen (ie RENDERTEXT,RENDERIMAGES) - only generally required if you do not wish to show all objects on screen (default is all).voidsetScaling(float scaleFactor) allow user to adjust scaling factor on page in Viewer - DOES NOTHING in this classvoidsetScrollInterval(int scrollInterval) Sets the ammount to scroll the window by (default is 10).voidsetStatusBarObject(org.jpedal.io.StatusBar statusBar) voidsetStreamCacheSize(int size) allows user to cache large objects to disk to avoid memory issues, setting minimum size in bytes (of uncompressed stream) above which object will be stored on disk if possible (default is -1 bytes which is all objects stored in memory) - Must be set before file opened.voidsetUserOffsets(int x, int y, int mode) static voidvoidupdateCursorBoxOnScreen(int[] rectParams, int outlineColor) booleanvoiduseNewGraphicsMode(boolean isEnabled) switches on or off glow border in JPedal viewer - does nothing in this classvoidControls type of text extraction if using JPedal purely for as a text extraction engine (otherwise do not touch) XML extraction is the default - pure text extraction is much faster for pure Text extraction, otherwise should not need to be set (for examples and more details see https://www.idrsolutions.com/how-to-extract-text-from-pdf-files/)voidControls type of text extraction if using JPedal purely for as a text extraction engine (otherwise do not touch) XML extraction is the default - pure text extraction is much faster for pure Text extraction, otherwise should not need to be set (for examples and more details see https://www.idrsolutions.com/how-to-extract-text-from-pdf-files/)voidwait for decoding to finishMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jpedal.PdfDecoderInt
setImageNameCollector
-
Field Details
-
version
-
-
Constructor Details
-
PdfDecoderServer
public PdfDecoderServer(boolean newRender) Recommend Constructor to use is PdfDecoder()- Parameters:
newRender- flag to show if pages are being rendered (true) or only extraction taking place (false).
-
PdfDecoderServer
public PdfDecoderServer()recommended way to create for most usesOtherwise use PdfDecoder(render)
-
-
Method Details
-
setEncryptTempFiles
public void setEncryptTempFiles()ensure that files are always encrypted if cached to disk regardless of whether file has a password set- Specified by:
setEncryptTempFilesin interfacePdfDecoderInt
-
isOpen
public boolean isOpen()see if file open - may not be open if user interrupted open or problem encountered- Specified by:
isOpenin interfacePdfDecoderInt
-
getMarkedContent
return markedContent object as XML Document- Specified by:
getMarkedContentin interfacePdfDecoderInt- Returns:
- Document containing XML structure with data
-
getMarkedContent
return markedContent object as XML Document and write the figures to a directory- Specified by:
getMarkedContentin interfacePdfDecoderInt- Returns:
- Document containing XML structure with data
- Throws:
IOException
-
getMarkedContentPerPage
- Specified by:
getMarkedContentPerPagein interfacePdfDecoderInt
-
getMarkedContentPerPage
public Document[] getMarkedContentPerPage(String imagesOutDir, String imagesOutFormat) throws IOException - Specified by:
getMarkedContentPerPagein interfacePdfDecoderInt- Throws:
IOException
-
getDisplayRotation
public int getDisplayRotation()current page rotation (in addition to rotation in file) in degrees So if user turns page by 90 degrees, value will be 90- Specified by:
getDisplayRotationin interfacePdfDecoderInt- Returns:
- int
-
getPageNumber
public int getPageNumber()current logical page number- Specified by:
getPageNumberin interfacePdfDecoderInt- Returns:
- int
-
setDisplayRotation
public void setDisplayRotation(int newRotation) - Specified by:
setDisplayRotationin interfacePdfDecoderInt
-
getPages
public org.jpedal.display.Display getPages()not part of API - do not use- Specified by:
getPagesin interfacePdfDecoderInt- Returns:
- Display
-
getlastPageDecoded
public int getlastPageDecoded()return page number for last page decoded (only use in SingleDisplay mode)- Specified by:
getlastPageDecodedin interfacePdfDecoderInt
-
getPageInfo
return details on page for type (defined in org.jpedal.constants.PageInfo) or null if no values Unrecognised key will throw a RunTime exceptionnull returned if JPedal not clear on result
- Specified by:
getPageInfoin interfacePdfDecoderInt
-
getOutlineData
public org.jpedal.objects.outlines.OutlineData getOutlineData()provide direct access to outlineData object- Specified by:
getOutlineDatain interfacePdfDecoderInt- Returns:
- OutlineData
-
isLoadingLinearizedPDF
public boolean isLoadingLinearizedPDF()track if file still loaded in background- Specified by:
isLoadingLinearizedPDFin interfacePdfDecoderInt- Returns:
- boolean
-
showExpiry
public static void showExpiry() -
getPageAlignment
public int getPageAlignment()return type of alignment for pages if smaller than panel - see options in Display class.- Specified by:
getPageAlignmentin interfacePdfDecoderInt
-
init
public static void init(boolean newEmbedWidthData) This will be needed for text extraction and set to true as paramter makes sure widths included in text stream- Parameters:
newEmbedWidthData- - flag to embed width data in text fragments for use by grouping algorithms
-
disposeAllStatic
public static void disposeAllStatic()remove all static elements - only do once completely finished with JPedal as will not be reinitialised -
dispose
public final void dispose()convenience method to remove all items from memory If you wish to clear all static objects as well, you will also need to call disposeAllStatic()- Specified by:
disposein interfacePdfDecoderInt
-
closePdfFile
public final void closePdfFile()convenience method to close the current PDF file and release all resources/delete any temporary files- Specified by:
closePdfFilein interfacePdfDecoderInt
-
getPdfBackgroundData
public final org.jpedal.objects.PdfData getPdfBackgroundData()NOT PART OF APIAccess should not generally be required to this class. Please look at getBackgroundGroupingObject() - provide method for outside class to get data object containing text and metrics of text. - Viewer can only access data for finding on page
- Returns:
- PdfData object containing text content from PDF
-
getPdfData
Access should not generally be required to this class but used in examples. Returns the PdfData object containing raw content from page- Specified by:
getPdfDatain interfacePdfDecoderInt- Returns:
- PdfData object containing text content from PDF
- Throws:
PdfException
-
hasOutline
public final boolean hasOutline()flag to show if PDF document contains an outline- Specified by:
hasOutlinein interfacePdfDecoderInt
-
getOutlineAsXML
return a DOM document containing the PDF Outline object as a DOM Document - may return null- Specified by:
getOutlineAsXMLin interfacePdfDecoderInt
-
getPdfPageData
public final org.jpedal.objects.PdfPageData getPdfPageData()Provides method for outside class to get data object containing information on the page for calculating grouping
Please note: Structure of PdfPageData is not guaranteed to remain constant. Please contact IDRsolutions for advice.- Specified by:
getPdfPageDatain interfacePdfDecoderInt- Returns:
- PdfPageData object
-
getPageAsHiRes
- Specified by:
getPageAsHiResin interfacePdfDecoderInt- Parameters:
pageIndex- number of the page we want to extract- Returns:
- image of the extracted page
- Throws:
PdfException- Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for full details
-
getPageAsHiRes
- Specified by:
getPageAsHiResin interfacePdfDecoderInt- Parameters:
pageIndex- number of the page we want to extractparams- list of values to override static settings in modifyJPedalParameters for this instance only- Returns:
- image of the extracted page
- Throws:
PdfException- Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for full details
-
getPageAsHiRes
public BufferedImage getPageAsHiRes(int pageIndex, Map<Integer, Object> params, boolean isTransparent) throws PdfException- Specified by:
getPageAsHiResin interfacePdfDecoderInt- Parameters:
pageIndex- number of the page we want to extractparams- list of values to override static settings in modifyJPedalParameters for this instance onlyisTransparent- - set if transparent or has background- Returns:
- image of the extracted page
- Throws:
PdfException- Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for full details
-
getPageAsHiRes
- Specified by:
getPageAsHiResin interfacePdfDecoderInt- Parameters:
pageIndex- number of the page we want to extract- Returns:
- image of the extracted page
- Throws:
PdfException- Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for full details
-
getPageAsImage
generate BufferedImage of a page in current filePage size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToImages.java.html for full details
- Specified by:
getPageAsImagein interfacePdfDecoderInt- Throws:
PdfException
-
getPageAsImage
generate BufferedImage of a page in current file with the given scalingPage size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToImages.java.html for full details
- Specified by:
getPageAsImagein interfacePdfDecoderInt- Throws:
PdfException
-
getPageAsTransparentImage
generate BufferedImage of a page in current filePage size is defined by CropBox
- Specified by:
getPageAsTransparentImagein interfacePdfDecoderInt- Throws:
PdfException
-
getHiResUpscaleFactor
public float getHiResUpscaleFactor()return scaleup factor applied to last Hires image of page generatednegative values mean no upscaling applied and should be ignored
- Specified by:
getHiResUpscaleFactorin interfacePdfDecoderInt
-
flushObjectValues
public final void flushObjectValues(boolean reinit) provide method for outside class to clear store of objects once written out to reclaim memory- Specified by:
flushObjectValuesin interfacePdfDecoderInt- Parameters:
reinit- lag to show if image data flushed as well
-
getPdfImageData
public final org.jpedal.objects.PdfImageData getPdfImageData()provide method for outside class to get data object containing imagesPlease look at examples for usage
- Specified by:
getPdfImageDatain interfacePdfDecoderInt- Returns:
- PdfImageData containing image metadata
-
getPdfBackgroundImageData
public final org.jpedal.objects.PdfImageData getPdfBackgroundImageData()provide method for outside class to get data object containing images.Please look at examples for usage
- Returns:
- PdfImageData containing image metadata
-
setRenderMode
public final void setRenderMode(int mode) set render mode to state what is displayed onscreen (ie RENDERTEXT,RENDERIMAGES) - only generally required if you do not wish to show all objects on screen (default is all). Add values together to combine settings.- Specified by:
setRenderModein interfacePdfDecoderInt
-
setExtractionMode
public final void setExtractionMode(int mode) set extraction mode telling JPedal what to extract - (TEXT,RAWIMAGES,FINALIMAGES - add together to combine) - See org.jpedal.examples for specific extraction examples- Specified by:
setExtractionModein interfacePdfDecoderInt
-
modifyNonstaticJPedalParameters
allow user to alter certain values in software such as Colour,Please note all Color and text highlighting values are static and common across the JVM
- Specified by:
modifyNonstaticJPedalParametersin interfacePdfDecoderInt- Throws:
PdfException
-
modifyJPedalParameters
allow user to alter certain values in software such as Colour,If you are using decoder.getPageAsHiRes() after passing additional parameters into JPedal using the static method PdfDecoder.modifyJPedalParameters(), then getPageAsHiRes() wont necessarily be thread safe. If you want to use getPageAsHiRes() and pass in additional parameters, in a thread safe mannor, please use the method getPageAsHiRes(int pageIndex, Map params) or getPageAsHiRes(int pageIndex, Map params, boolean isTransparent) and pass the additional parameters in directly to the getPageAsHiRes() method without calling PdfDecoder.modifyJPedalParameters() first.
Please see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for example of usage
Please note all Color and text highlighting values except page colour are static and common across the JVM
- Parameters:
values- a map of jpedal parameters- Throws:
PdfException- if key or value data type is not recognised
-
getFileInformationData
public final org.jpedal.objects.PdfFileInformation getFileInformationData()method to return null or object giving access info fields and metadata.- Specified by:
getFileInformationDatain interfacePdfDecoderInt
-
setExtractionMode
public final void setExtractionMode(int mode, float scaling) Please do not use for general usage. Use setPageParameters(scalingValue, pageNumber) to set page scaling- Specified by:
setExtractionModein interfacePdfDecoderInt
-
getDPIFactory
public org.jpedal.utils.DPIFactory getDPIFactory()return handle on PDFFactory which adjusts display size so matches size in Acrobat- Specified by:
getDPIFactoryin interfacePdfDecoderInt- Returns:
- DPIFactory
-
setPageParameters
public final void setPageParameters(float scaling, int pageNumber) initialise panel and set size to fit PDF page
intializes display with rotation set to the default, specified in the PDF document scaling value of -1 means keep existing setting- Specified by:
setPageParametersin interfacePdfDecoderInt
-
setPageParameters
public final void setPageParameters(float scaling, int pageNumber, int newRotation) calls setPageParameters(scaling,pageNumber) after setting rotation to draw page- Specified by:
setPageParametersin interfacePdfDecoderInt
-
waitForDecodingToFinish
public void waitForDecodingToFinish()wait for decoding to finish- Specified by:
waitForDecodingToFinishin interfacePdfDecoderInt
-
getDynamicRenderer
public org.jpedal.render.DynamicVectorRenderer getDynamicRenderer()Not part of API - used internallygets DynamicVector Object
- Specified by:
getDynamicRendererin interfacePdfDecoderInt
-
getDynamicRenderer
public org.jpedal.render.DynamicVectorRenderer getDynamicRenderer(boolean reset) Not part of API - used internallygets DynamicVector Object - NOT PART OF API and subject to change (DO NOT USE)
- Specified by:
getDynamicRendererin interfacePdfDecoderInt
-
getIO
public org.jpedal.io.PdfObjectReader getIO()allow access to PDF file- Specified by:
getIOin interfacePdfDecoderInt- Returns:
- PdfObjectReader
-
decodePage
public final void decodePage(int rawPage) decode a page, - page must be between 1 and PdfDecoder.getPageCount() - Will kill off if already runningreturns minus page if trying to open linearized page not yet available
- Specified by:
decodePagein interfacePdfDecoderInt
-
isPageAvailable
public boolean isPageAvailable(int rawPage) see if page available if in Linearized mode or return true- Specified by:
isPageAvailablein interfacePdfDecoderInt- Parameters:
rawPage- page to check- Returns:
- boolean
-
drawAdditionalObjectsOverPage
public void drawAdditionalObjectsOverPage(int page, int[] type, Color[] colors, Object[] obj) throws PdfException allow user to add grapical content on top of page - for display ONLY Additional calls will overwrite current settings on page ONLY works in SINGLE VIEW displaymode- Specified by:
drawAdditionalObjectsOverPagein interfacePdfDecoderInt- Throws:
PdfException
-
flushAdditionalObjectsOnPage
public void flushAdditionalObjectsOnPage(int page) allow user to remove all additional grapical content from the page (only for display) ONLY works in SINGLE VIEW displaymode- Specified by:
flushAdditionalObjectsOnPagein interfacePdfDecoderInt- Parameters:
page- the page number to flush objects from
-
decodePageInBackground
public final void decodePageInBackground(int i) decode a page as a background thread (use other background methods to access data)we now recommend you use decodePage as this has been heavily optimised for speed
- Specified by:
decodePageInBackgroundin interfacePdfDecoderInt
-
getPageCount
public final int getPageCount()get page count of current PDF file- Specified by:
getPageCountin interfacePdfDecoderInt
-
isEncrypted
public final boolean isEncrypted()return true if the current pdf file is encrypted
check isFileViewable(),
if file is encrypted and not viewable - a user specified password is needed.- Specified by:
isEncryptedin interfacePdfDecoderInt
-
isPasswordSupplied
public final boolean isPasswordSupplied()show if encryption password has been supplied or set a certificate- Specified by:
isPasswordSuppliedin interfacePdfDecoderInt
-
isFileViewable
public boolean isFileViewable()show if encrypted file can be viewed,
if false a password needs entering- Specified by:
isFileViewablein interfacePdfDecoderInt
-
isExtractionAllowed
public boolean isExtractionAllowed()show if content can be extracted- Specified by:
isExtractionAllowedin interfacePdfDecoderInt
-
setEncryptionPassword
set a password for encryption - software will resolve if user or owner password- calls verifyAccess() from 2.74 so no separate call needed- Specified by:
setEncryptionPasswordin interfacePdfDecoderInt- Throws:
PdfException
-
openPdfArray
routine to open a byte stream containing the PDF file and extract key info from pdf file so we can decode any pages. Does not actually decode the pages themselves - By default files over 16384 bytes are cached to disk but this can be altered by setting PdfFileReader.alwaysCacheInMemory to a maximimum size or -1 (always keep in memory)- Specified by:
openPdfArrayin interfacePdfDecoderInt- Throws:
PdfException
-
openPdfArray
routine to open a byte stream containing the PDF file and extract key info from pdf file so we can decode any pages. Does not actually decode the pages themselves - By default files over 16384 bytes are cached to disk but this can be altered by setting PdfFileReader.alwaysCacheInMemory to a maximimum size or -1 (always keep in memory)- Specified by:
openPdfArrayin interfacePdfDecoderInt- Throws:
PdfException
-
openPdfFile
public void openPdfFile(String filename, Certificate certificate, PrivateKey key) throws PdfException allow user to open file using Certificate and key- Specified by:
openPdfFilein interfacePdfDecoderInt- Parameters:
filename- file to opencertificate- certificate, if anykey- key, if any- Throws:
PdfException
-
openPdfFileFromStream
routine to open PDF file and extract key info from pdf file so we can decode any pages which also sets password. Does not actually decode the pages themselves. Also reads the form data. You must explicitly close your stream!!- Specified by:
openPdfFileFromStreamin interfacePdfDecoderInt- Throws:
PdfException
-
openPdfFile
routine to open PDF file and extract key info from pdf file so we can decode any pages. Does not actually decode the pages themselves. Also reads the form data. You must explicitly close any open files with closePdfFile() to Java will not release all the memory- Specified by:
openPdfFilein interfacePdfDecoderInt- Throws:
PdfException
-
openPdfFile
routine to open PDF file and extract key info from pdf file so we can decode any pages which also sets password. Does not actually decode the pages themselves. Also reads the form data. You must explicitly close any open files with closePdfFile() or Java will not release all the memory- Specified by:
openPdfFilein interfacePdfDecoderInt- Throws:
PdfException
-
openPdfFileFromURL
public final boolean openPdfFileFromURL(String pdfUrl, boolean supportLinearized) throws PdfException routine to open PDF file via URL and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves - Also reads the form data - Based on an idea by Peter Jacobsen
You must explicitly close any open files with closePdfFile() so Java will release all the memory
If boolean supportLinearized is true, method will return with true value once Linearized part read
- Specified by:
openPdfFileFromURLin interfacePdfDecoderInt- Throws:
PdfException
-
openPdfFileFromURL
public final boolean openPdfFileFromURL(String pdfUrl, boolean supportLinearized, String password) throws PdfException routine to open PDF file via URL and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves - Also reads the form data - Based on an idea by Peter Jacobsen
You must explicitly close any open files with closePdfFile() so Java will release all the memory
If boolean supportLinearized is true, method will return with true value once Linearized part read
- Specified by:
openPdfFileFromURLin interfacePdfDecoderInt- Throws:
PdfException
-
openPdfFileFromInputStream
public final boolean openPdfFileFromInputStream(InputStream is, boolean supportLinearized) throws PdfException routine to open PDF file via InputStream and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves -
You must explicitly close any open files with closePdfFile() to Java will not release all the memoryIMPORTANT NOTE: If the stream does not contain enough bytes, test for Linearization may fail If boolean supportLinearized is true, method will return with true value once Linearized part read (we recommend use you false unless you know exactly what you are doing)
- Specified by:
openPdfFileFromInputStreamin interfacePdfDecoderInt- Throws:
PdfException
-
openPdfFileFromInputStream
public final boolean openPdfFileFromInputStream(InputStream is, boolean supportLinearized, String password) throws PdfException routine to open PDF file via InputStream and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves -
You must explicitly close any open files with closePdfFile() to Java will not release all the memoryIMPORTANT NOTE: If the stream does not contain enough bytes, test for Linearization may fail If boolean supportLinearized is true, method will return with true value once Linearized part read (we recommend use you false unless you know exactly what you are doing)
- Specified by:
openPdfFileFromInputStreamin interfacePdfDecoderInt- Throws:
PdfException
-
getJPedalObject
Not part of API - used internallywill return some dictionary values - if not a set value, will return null
- Specified by:
getJPedalObjectin interfacePdfDecoderInt- Returns:
- Object
-
setPageMode
public void setPageMode(int mode) Not part of API - used internally- Specified by:
setPageModein interfacePdfDecoderInt- Parameters:
mode- mode
-
isXMLExtraction
public boolean isXMLExtraction()shows if text extraction is XML or pure text- Specified by:
isXMLExtractionin interfacePdfDecoderInt
-
useTextExtraction
public void useTextExtraction()Controls type of text extraction if using JPedal purely for as a text extraction engine (otherwise do not touch) XML extraction is the default - pure text extraction is much faster for pure Text extraction, otherwise should not need to be set (for examples and more details see https://www.idrsolutions.com/how-to-extract-text-from-pdf-files/)- Specified by:
useTextExtractionin interfacePdfDecoderInt
-
useXMLExtraction
public void useXMLExtraction()Controls type of text extraction if using JPedal purely for as a text extraction engine (otherwise do not touch) XML extraction is the default - pure text extraction is much faster for pure Text extraction, otherwise should not need to be set (for examples and more details see https://www.idrsolutions.com/how-to-extract-text-from-pdf-files/)- Specified by:
useXMLExtractionin interfacePdfDecoderInt
-
clearScreen
public void clearScreen()remove all displayed objects for JPanel display (wipes current page) -
setStreamCacheSize
public void setStreamCacheSize(int size) allows user to cache large objects to disk to avoid memory issues, setting minimum size in bytes (of uncompressed stream) above which object will be stored on disk if possible (default is -1 bytes which is all objects stored in memory) - Must be set before file opened.- Specified by:
setStreamCacheSizein interfacePdfDecoderInt
-
setUserOffsets
public void setUserOffsets(int x, int y, int mode) - Specified by:
setUserOffsetsin interfacePdfDecoderInt
-
hasEmbeddedFonts
public boolean hasEmbeddedFonts()shows if embedded fonts present on page just decoded- Specified by:
hasEmbeddedFontsin interfacePdfDecoderInt
-
getPageFromObjectRef
given a ref, what is the page- Specified by:
getPageFromObjectRefin interfacePdfDecoderInt- Parameters:
ref- - PDF object reference- Returns:
- - page number with being first page
-
getInfo
Returns list of the fonts used on the current page decoded or null type can be PdfDictionary.Font or PdfDictionary.Image- Specified by:
getInfoin interfacePdfDecoderInt
-
getFormRenderer
public org.jpedal.objects.acroforms.AcroRenderer getFormRenderer()Allow user to access Forms renderer object if needed- Specified by:
getFormRendererin interfacePdfDecoderInt
-
getJavaScript
public org.jpedal.objects.Javascript getJavaScript()Allow user to access javascript object if needed- Specified by:
getJavaScriptin interfacePdfDecoderInt
-
getPageDecodeReport
return any errors or other messages while calling decodePage() - zero length is no problems- Specified by:
getPageDecodeReportin interfacePdfDecoderInt
-
getObjectStore
public org.jpedal.io.ObjectStore getObjectStore()return object which provides access to file images and name- Specified by:
getObjectStorein interfacePdfDecoderInt
-
setObjectStore
public void setObjectStore(org.jpedal.io.ObjectStore newStore) return object which provides access to file images and name (use not recommended)- Specified by:
setObjectStorein interfacePdfDecoderInt
-
getDecoderOptions
public org.jpedal.parser.DecoderOptions getDecoderOptions()Return decoder options as object for cases where value is needed externally and can't be static- Specified by:
getDecoderOptionsin interfacePdfDecoderInt- Returns:
- DecoderOptions object containing settings for this PdfDecoder object
-
getGroupingObject
returns object containing grouped text of last decoded page - if no page decoded, a Runtime exception is thrown to warn user Please see org.jpedal.examples.text for example code.- Specified by:
getGroupingObjectin interfacePdfDecoderInt- Returns:
- object containing grouped text of last decoded page
- Throws:
PdfException- if no page has been decoded
-
getBackgroundGroupingObject
public org.jpedal.grouping.PdfGroupingAlgorithms getBackgroundGroupingObject()returns object containing grouped text from background grouping - Please see org.jpedal.examples.text for example code- Specified by:
getBackgroundGroupingObjectin interfacePdfDecoderInt- Returns:
- an object containing grouped text from background grouping
-
getPDFVersion
get PDF version in file- Specified by:
getPDFVersionin interfacePdfDecoderInt
-
hasAllImages
public boolean hasAllImages()flag to show if we suspect problem with some images- Returns:
- true if all images have been processed fully
-
getPageDecodeStatus
public boolean getPageDecodeStatus(int status) returns booleans based on flags inDecodeStatus- Specified by:
getPageDecodeStatusin interfacePdfDecoderInt- Parameters:
status- decode status- Returns:
- boolean
-
getPageDecodeStatusReport
get page statuses (flags inDecodeStatus)- Specified by:
getPageDecodeStatusReportin interfacePdfDecoderInt
-
addExternalHandler
not part of API used internallyallows external helper classes to be added to JPedal to alter default functionality -
- Specified by:
addExternalHandlerin interfacePdfDecoderInt- Parameters:
newHandler- handler to addtype- type of handler
-
getExternalHandler
not part of API used internallyallows external helper classes to be accessed if needed - also allows user to access SwingGUI if running full Viewer package - not all Options available to get - please contact IDRsolutions if you are looking to use
- Specified by:
getExternalHandlerin interfacePdfDecoderInt- Parameters:
type- type of handler
-
getFileName
currently open PDF file name- Specified by:
getFileNamein interfacePdfDecoderInt- Returns:
- String
-
isForm
public boolean isForm()return true if currently open PDF file is a PDF form- Specified by:
isFormin interfacePdfDecoderInt- Returns:
- boolean
-
getTextLines
access textlines object- Specified by:
getTextLinesin interfacePdfDecoderInt- Returns:
- an object containing text lines
-
getPDFWidth
public final int getPDFWidth()get sizes of panel
This is the PDF pagesize (as set in the PDF from pagesize) - It now includes any scaling factor you have set- Specified by:
getPDFWidthin interfacePdfDecoderInt
-
getPDFHeight
public final int getPDFHeight()get sizes of panel - This is the PDF pagesize- Specified by:
getPDFHeightin interfacePdfDecoderInt
-
getDisplayView
public int getDisplayView()returns view mode used - ie SINGLE_PAGE,CONTINUOUS,FACING,CONTINUOUS_FACING (no effect in OS versions)- Specified by:
getDisplayViewin interfacePdfDecoderInt
-
getScaling
public float getScaling()returns current scaling value used internally- Specified by:
getScalingin interfacePdfDecoderInt- Returns:
- float
-
getInsetH
public int getInsetH()Description copied from interface:PdfDecoderIntReturn amount to inset the page rectangle height by- Specified by:
getInsetHin interfacePdfDecoderInt- Returns:
- int
-
getInsetW
public int getInsetW()Description copied from interface:PdfDecoderIntReturn amount to inset the page rectangle width by- Specified by:
getInsetWin interfacePdfDecoderInt- Returns:
- int
-
getSelectedRectangleOnscreen
public BufferedImage getSelectedRectangleOnscreen(float t_x1, float t_y1, float t_x2, float t_y2, float scaling) - Specified by:
getSelectedRectangleOnscreenin interfacePdfDecoderInt
-
getScrollInterval
public int getScrollInterval()Description copied from interface:PdfDecoderIntReturn amount to scroll window by when scrolling (default is 10).- Specified by:
getScrollIntervalin interfacePdfDecoderInt- Returns:
- int
-
setScrollInterval
public void setScrollInterval(int scrollInterval) Description copied from interface:PdfDecoderIntSets the ammount to scroll the window by (default is 10).- Specified by:
setScrollIntervalin interfacePdfDecoderInt- Parameters:
scrollInterval- scroll interval
-
resetForNonPDFPage
public void resetForNonPDFPage(int pageCount) Description copied from interface:PdfDecoderIntused for non-PDF files to reset page- Specified by:
resetForNonPDFPagein interfacePdfDecoderInt- Parameters:
pageCount- the new page count
-
setPDFBorder
- Specified by:
setPDFBorderin interfacePdfDecoderInt
-
updateCursorBoxOnScreen
public void updateCursorBoxOnScreen(int[] rectParams, int outlineColor) - Specified by:
updateCursorBoxOnScreenin interfacePdfDecoderInt
-
setHardwareAccelerationforScreen
public void setHardwareAccelerationforScreen(boolean useAcceleration) - Specified by:
setHardwareAccelerationforScreenin interfacePdfDecoderInt
-
getExternalHandler
public org.jpedal.external.ExternalHandlers getExternalHandler()- Specified by:
getExternalHandlerin interfacePdfDecoderInt
-
getSpecialMode
public int getSpecialMode()retusn a value defined in SpecialOptions used internally and in custom JPedal releases in PdfDecoder - always returns 0 in this class- Specified by:
getSpecialModein interfacePdfDecoderInt- Returns:
- int
-
useNewGraphicsMode
public boolean useNewGraphicsMode()- Specified by:
useNewGraphicsModein interfacePdfDecoderInt
-
useNewGraphicsMode
public void useNewGraphicsMode(boolean isEnabled) switches on or off glow border in JPedal viewer - does nothing in this class- Specified by:
useNewGraphicsModein interfacePdfDecoderInt- Parameters:
isEnabled- true to turn on glow border in jpedal viewer
-
setScaling
public void setScaling(float scaleFactor) allow user to adjust scaling factor on page in Viewer - DOES NOTHING in this class- Specified by:
setScalingin interfacePdfDecoderInt- Parameters:
scaleFactor- the scale factor to be applied to the page
-
setStatusBarObject
public void setStatusBarObject(org.jpedal.io.StatusBar statusBar) - Specified by:
setStatusBarObjectin interfacePdfDecoderInt
-
setInset
public void setInset(int width, int height) - Specified by:
setInsetin interfacePdfDecoderInt
-
getMaxSizeWH
public int[] getMaxSizeWH()- Specified by:
getMaxSizeWHin interfacePdfDecoderInt
-
getPaneBounds
public int[] getPaneBounds()- Specified by:
getPaneBoundsin interfacePdfDecoderInt
-
repaintPane
public void repaintPane(int page) - Specified by:
repaintPanein interfacePdfDecoderInt
-
requestFocus
public void requestFocus()- Specified by:
requestFocusin interfacePdfDecoderInt
-
setPreviewThumbnail
internal method used by Viewer to provide preview of PDF in Viewer- Specified by:
setPreviewThumbnailin interfacePdfDecoderInt
-
getTextPrint
public int getTextPrint()- Specified by:
getTextPrintin interfacePdfDecoderInt
-
repaint
public void repaint()- Specified by:
repaintin interfacePdfDecoderInt
-
repaintOffscreenImage
public void repaintOffscreenImage()- Specified by:
repaintOffscreenImagein interfacePdfDecoderInt
-
getVisibleRect
- Specified by:
getVisibleRectin interfacePdfDecoderInt
-
getDisplayOffsets
public org.jpedal.display.DisplayOffsets getDisplayOffsets()- Specified by:
getDisplayOffsetsin interfacePdfDecoderInt
-
getViewerPreferences
public org.jpedal.objects.raw.PdfObject getViewerPreferences()- Specified by:
getViewerPreferencesin interfacePdfDecoderInt
-