Class PdfDecoder
- All Implemented Interfaces:
ImageObserver,MenuContainer,Pageable,Printable,Serializable,Accessible,PdfDecoderInt
If you only want to rasterize or extracxt text and images you can use PdfDecoderServer
Examples showing usage in org.jpedal.examples
We recommend you access JPedal using only public methods listed in API
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior -
Field Summary
FieldsModifier and TypeFieldDescriptionorg.jpedal.display.Displayfinal org.jpedal.parser.SwingPrinterstatic final StringFields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface java.awt.print.Pageable
UNKNOWN_NUMBER_OF_PAGESFields 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, XFORMMETADATAFields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS -
Constructor Summary
ConstructorsConstructorDescriptionRecommend way to create a PdfDecoder for renderer only viewer (not recommended for server extraction only processes)PdfDecoder(boolean newRender) Recommend way to create a PdfDecoder if no rendering of page may be required
Otherwise use 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 displaymodevoidmake screen scroll to ensure point is visiblevoidflushAdditionalObjectsOnPage(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 codeintreturn page currently being printed or -1 if finishedorg.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) 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 (ie a PDF size 800 * 600 with a scaling factor of 2 will return 1600 *1200)int[]final Dimensionget width of panelintpart of pageable interface - used only in printing Use getPageCount() for number of pagesorg.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 filegetPageAsTransparentImage(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)Return String with all error messages from last printed (useful for debugging)getPageFormat(int p) part of pageable interfaceintgiven 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 exception
null returned if JPedal not clear on resultintcurrent logical page numberorg.jpedal.display.DisplaygetPages()int[]final org.jpedal.objects.PdfDataNOT PART OF APIfinal org.jpedal.objects.PdfImageDataprovide method for outside class to get data object containing images.final Borderget border for screen and print which will be displayedfinal 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 fileintget sizes of panel
This is the PDF pagesize (as set in the PDF from pagesize) - It now includes any scaling factor you have setget sizes of panel
This is the PDF pagesize (as set in the PDF from pagesize) - It now includes any scaling factor you have set (ie a PDF size 800 * 600 with a scaling factor of 2 will return 1600 *1200)getPrintable(int page) part of pageable interfacefloatreturns 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) If running in GUI mode, will extract a section of rendered page as BufferedImage -coordinates are PDF co-ordinates.intretusn a value defined in SpecialOptions used internally and in custom JPedal releasesaccess textlines objectintgetUserOffsets(int mode) not part of API used internallygetUserSetPageFormat(int p) Returns pageFormats set by the user for a given page or a standard page format for all pages if set.org.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 an FDF 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 truebooleanshows if page reported any errors while printing.final 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 memoryvoidvoidstandard method to draw page and any highlights onto JPanelintprint(Graphics graphics, PageFormat pageFormat, int page) Implements the standard Java printing functionality.voidprintAdditionalObjectsOverAllPages(int[] type, Color[] colors, Object[] obj) store objects to use on a printvoidprintAdditionalObjectsOverPage(int page, int[] type, Color[] colors, Object[] obj) store objects to use on a printvoidvoidrepaintPane(int page) voidvoidvoidresetForNonPDFPage(int pageCount) used for non-PDF files to reset pagevoidsetAllowDifferentPrintPageSizes(boolean allowDifferentPrintPageSizes) allow printing of different sizes pagesvoidsetCenterOnScaling(boolean center) Specify if the pdf page should be centered within the pageformat when print.voidvoidWhen changing the mouse mode we call this method to set the mouse mode default cursorvoidsetDisplayRotation(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) Enables/Disables hardware acceleration of screen rendering (default is on)voidsetImageNameCollector(org.jpedal.external.ImageNameCollector imageNameCollector) final voidsetInset(int width, int height) set an inset display so that display will not touch edge of panelvoidsetObjectStore(org.jpedal.io.ObjectStore newStore) return object which provides access to file images and name (use not recommended)voidsetPageFormat(int p, PageFormat pf) Set PageFormat for a specific page when printing.voidSet PageFormat to be used when a specific PageFormat has not been set for a page.voidsetPageMode(int mode) Not part of API - used internallyvoidsetPageParameters(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 settingvoidsetPageParameters(float scaling, int pageNumber, int newRotation) calls setPageParameters(scaling,pageNumber) after setting rotation to draw pagevoidsetPagePrintRange(int start, int end) set page range (inclusive) - If end is less than start it will print them backwards (invalid range will throw PdfException)voidset inclusive range to print (see SilentPrint.java and Viewer.java for sample print code (invalid range will throw PdfException) can take values such as new PageRanges("3,5,7-9,15");final voidsetPDFBorder(Border newBorder) set border for screen and print which will be displayed
setting a new value will enable screen and border painting - disable with disableBorderForPrinting()voidOverride setCursor so that we can turn on and offvoidsetPreviewThumbnail(BufferedImage previewImage, String previewText) internal method used by Viewer to provide preview of PDF in ViewervoidsetPrintAutoRotate(boolean rotate) Specify if the pdf page should be rotated to best fit the printed page imagable area.voidsetPrintAutoRotateAndCenter(boolean value) set print mode (Matches Abodes Auto Print and rotate outputvoidsetPrintCurrentView(boolean value) tell printout to print only visible area in viewer if setvoidsetPrintIndent(int oddPages, int evenPages) set a left margin for printing pages (ie for duplex)voidsetPrintPageMode(int mode) allow user to select only odd or even pages to printvoidsetPrintPageScalingMode(int pageScalingMode) set page scaling mode to use - default setting is PAGE_SCALING_REDUCE_TO_PRINTER_MARGINS All values start PAGE_SCALINGfinal 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 pagevoidsetScrollInterval(int scrollInterval) set amount to scroll window by when scrollingvoidsetStatusBarObject(org.jpedal.io.StatusBar statusBar) Not part of API - used internallyvoidsetStreamCacheSize(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.voidsetTextPrint(int textPrint) tells program to try and use Java's font printing if possible as work around for issue with PCL printing - values are PdfDecoder.TEXTGLYPHPRINT (use Java to rasterize font if available) PdfDecoder.TEXTSTRINGPRINT( print as text not raster - fastest option) PdfDecoder.NOTEXTPRINT (default - highest quality)voidsetUsePDFPaperSize(boolean usePDFPaperSize) voidsetUserOffsets(int x, int y, int mode) not part of API used internallyfinal voidask JPedal to stop printing a pagefinal voidupdateCursorBoxOnScreen(int[] rectParams, int outlineColor) update rectangle we draw to highlight an area - See Viewer example for example code showing current usage.voiduseLogicalPrintOffset(int pagesPrinted) If you are printing PDFs using JPedal in your custom code, you may find pages missing, because JPedal does not know about these additional pages.booleanvoiduseNewGraphicsMode(boolean isEnabled) switches on or off glow border in JPedal viewervoidControls 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 javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validateMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.jpedal.PdfDecoderInt
getVisibleRect, repaint
-
Field Details
-
version
-
swingPrinter
public final org.jpedal.parser.SwingPrinter swingPrinter -
pages
public org.jpedal.display.Display pages
-
-
Constructor Details
-
PdfDecoder
public PdfDecoder(boolean newRender) Recommend way to create a PdfDecoder if no rendering of page may be required
Otherwise use PdfDecoder()- Parameters:
newRender- flag to show if pages are being rendered (true) or only extraction taking place (flase).
-
PdfDecoder
public PdfDecoder()Recommend way to create a PdfDecoder for renderer only viewer (not recommended for server extraction only processes)
-
-
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
-
getExternalHandler
public org.jpedal.external.ExternalHandlers getExternalHandler()- Specified by:
getExternalHandlerin interfacePdfDecoderInt
-
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 current display rotation
-
getPageNumber
public int getPageNumber()current logical page number- Specified by:
getPageNumberin interfacePdfDecoderInt- Returns:
- int current page number
-
setDisplayRotation
public void setDisplayRotation(int newRotation) - Specified by:
setDisplayRotationin interfacePdfDecoderInt
-
getPages
public org.jpedal.display.Display getPages()- Specified by:
getPagesin interfacePdfDecoderInt
-
getlastPageDecoded
public int getlastPageDecoded()return page number for last page decoded (only use in SingleDisplay mode)- Specified by:
getlastPageDecodedin interfacePdfDecoderInt
-
getDisplayOffsets
public org.jpedal.display.DisplayOffsets getDisplayOffsets()- Specified by:
getDisplayOffsetsin 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 exception
null 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 outline of current file
-
isLoadingLinearizedPDF
public boolean isLoadingLinearizedPDF()track if file still loaded in background- Specified by:
isLoadingLinearizedPDFin interfacePdfDecoderInt- Returns:
- boolean true if PDF is linearized
-
setScaling
public void setScaling(float scaleFactor) allow user to adjust scaling factor on page- Specified by:
setScalingin interfacePdfDecoderInt- Parameters:
scaleFactor- the scaling to apply on the page (default is 1)
-
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
-
setPagePrintRange
set page range (inclusive) - If end is less than start it will print them backwards (invalid range will throw PdfException)- Parameters:
start- start of page rangeend- end of page range- Throws:
PdfException- when range is invalid
-
setTextPrint
public void setTextPrint(int textPrint) tells program to try and use Java's font printing if possible as work around for issue with PCL printing - values are PdfDecoder.TEXTGLYPHPRINT (use Java to rasterize font if available) PdfDecoder.TEXTSTRINGPRINT( print as text not raster - fastest option) PdfDecoder.NOTEXTPRINT (default - highest quality)- Parameters:
textPrint- text print
-
useLogicalPrintOffset
public void useLogicalPrintOffset(int pagesPrinted) If you are printing PDFs using JPedal in your custom code, you may find pages missing, because JPedal does not know about these additional pages. This method allows you to tell JPedal you have already printed pagesPrinted- Parameters:
pagesPrinted- pages printed
-
print
Implements the standard Java printing functionality.- Specified by:
printin interfacePrintable- Parameters:
graphics- the context into which the page is drawnpageFormat- the size and orientation of the page being drawnpage- the zero based index of the page to be drawn- Returns:
- int Printable.PAGE_EXISTS or Printable.NO_SUCH_PAGE
- Throws:
PrinterException- PrinterException
-
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 filePage size is defined by CropBox
- Specified by:
getPageAsImagein interfacePdfDecoderInt- Throws:
PdfException
-
getPageAsTransparentImage
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:
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- Returns:
- float hires upscale factor
-
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- Map of Jpedal Parameters- Throws:
PdfException- PdfException
-
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 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 void setPageParameters(float scaling, int pageNumber, int newRotation) calls setPageParameters(scaling,pageNumber) after setting rotation to draw page- Specified by:
setPageParametersin interfacePdfDecoderInt
-
setStatusBarObject
public void setStatusBarObject(org.jpedal.io.StatusBar statusBar) Not part of API - used internallyset status bar to use when decoding a page - StatusBar provides a GUI object to display progress and messages.
- Specified by:
setStatusBarObjectin interfacePdfDecoderInt
-
waitForDecodingToFinish
public void waitForDecodingToFinish()wait for decoding to finish- Specified by:
waitForDecodingToFinishin interfacePdfDecoderInt
-
setPreviewThumbnail
internal method used by Viewer to provide preview of PDF in Viewer- Specified by:
setPreviewThumbnailin 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
-
setPDFCursor
Override setCursor so that we can turn on and off- Parameters:
c- Cursor
-
setDefaultCursor
When changing the mouse mode we call this method to set the mouse mode default cursor- Parameters:
c- :: The cursor to set as the default
-
setCursor
-
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 be checked- Returns:
- boolean true if page is available
-
printAdditionalObjectsOverPage
store objects to use on a print- Parameters:
page- page to be drawn overtype- type usedcolors- colours usedobj- Objects drawn
-
printAdditionalObjectsOverAllPages
store objects to use on a print- Parameters:
type- type usedcolors- colours usedobj- objects drawn
-
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- Returns:
- the page count of current pdf file
-
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- The name of the file to opencertificate- certificate of PDF filekey- private key of PDF file- 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 jpedal object
-
setPageMode
public void setPageMode(int mode) Not part of API - used internally- Specified by:
setPageModein interfacePdfDecoderInt- Parameters:
mode- page 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
-
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
-
isPageSuccessful
public boolean isPageSuccessful()shows if page reported any errors while printing. Log can be found with getPageFailureMessage()- Returns:
- Returns the printingSuccessful.
-
getPageDecodeReport
return any errors or other messages while calling decodePage() - zero length is no problems- Specified by:
getPageDecodeReportin interfacePdfDecoderInt
-
getPageFailureMessage
Return String with all error messages from last printed (useful for debugging)- Returns:
- String
-
getSelectedRectangleOnscreen
public BufferedImage getSelectedRectangleOnscreen(float t_x1, float t_y1, float t_x2, float t_y2, float scaling) If running in GUI mode, will extract a section of rendered page as BufferedImage -coordinates are PDF co-ordinates. If you wish to use hires image, you will need to enable hires image display with- Specified by:
getSelectedRectangleOnscreenin interfacePdfDecoderInt- Parameters:
t_x1- x1 coordinatet_y1- y1 coordinatet_x2- x2 coordinatet_y2- y2 coordinatescaling- scaling of rectangle- Returns:
- pageErrorMessages - Any printer errors
-
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
-
resetForNonPDFPage
public void resetForNonPDFPage(int pageCount) used for non-PDF files to reset page- Specified by:
resetForNonPDFPagein interfacePdfDecoderInt- Parameters:
pageCount- the new page count
-
hasAllImages
public boolean hasAllImages()flag to show if we suspect problem with some images- Returns:
- boolean
-
getPageDecodeStatus
public boolean getPageDecodeStatus(int status) returns booleans based on flags inDecodeStatus- Specified by:
getPageDecodeStatusin interfacePdfDecoderInt- Parameters:
status- status of decoding- Returns:
- boolean based on flags in
DecodeStatus
-
getPageDecodeStatusReport
get page statuses (flags inDecodeStatus)- Specified by:
getPageDecodeStatusReportin interfacePdfDecoderInt
-
setPrintAutoRotateAndCenter
public void setPrintAutoRotateAndCenter(boolean value) set print mode (Matches Abodes Auto Print and rotate output- Parameters:
value- mode to be set
-
setPrintCurrentView
public void setPrintCurrentView(boolean value) tell printout to print only visible area in viewer if set- Parameters:
value- true if only visible area should be printed
-
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
-
getIO
public org.jpedal.io.PdfObjectReader getIO()allow access to PDF file- Specified by:
getIOin interfacePdfDecoderInt- Returns:
- PdfObjectReader
-
getFileName
currently open PDF file name- Specified by:
getFileNamein interfacePdfDecoderInt- Returns:
- String
-
isForm
public boolean isForm()return true if currently open PDF file is an FDF form- Specified by:
isFormin interfacePdfDecoderInt- Returns:
- boolean
-
getPrintable
part of pageable interface- Specified by:
getPrintablein interfacePageable- Throws:
IndexOutOfBoundsException
-
setAllowDifferentPrintPageSizes
public void setAllowDifferentPrintPageSizes(boolean allowDifferentPrintPageSizes) allow printing of different sizes pages- Parameters:
allowDifferentPrintPageSizes- true if printing of different sized pages is allowed
-
getTextLines
access textlines object- Specified by:
getTextLinesin interfacePdfDecoderInt- Returns:
- an object containing text lines
-
setInset
public final void setInset(int width, int height) set an inset display so that display will not touch edge of panel- Specified by:
setInsetin interfacePdfDecoderInt
-
ensurePointIsVisible
make screen scroll to ensure point is visible- Parameters:
p- Point to be made visible
-
setPrintIndent
public void setPrintIndent(int oddPages, int evenPages) set a left margin for printing pages (ie for duplex)- Parameters:
oddPages- oddPagesevenPages- evenpages
-
setUserOffsets
public void setUserOffsets(int x, int y, int mode) not part of API used internallyallow user to 'move' display of PDF
mode is a Constant in org.jpedal.external.OffsetOptions (ie OffsetOptions.SWING_DISPLAY,OffsetOptions.PRINTING)
- Specified by:
setUserOffsetsin interfacePdfDecoderInt
-
getUserOffsets
not part of API used internally- Parameters:
mode- mode- Returns:
- Points
-
getMaximumSize
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 (ie a PDF size 800 * 600 with a scaling factor of 2 will return 1600 *1200)- Overrides:
getMaximumSizein classJComponent
-
getMinimumSize
get width of panel- Overrides:
getMinimumSizein classJComponent
-
getPreferredSize
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 (ie a PDF size 800 * 600 with a scaling factor of 2 will return 1600 *1200)- Overrides:
getPreferredSizein classJComponent- Returns:
- Dimension
-
updateCursorBoxOnScreen
public final void updateCursorBoxOnScreen(int[] rectParams, int outlineColor) update rectangle we draw to highlight an area - See Viewer example for example code showing current usage. This method takes an int array containing the x,y,w,h params of the rectangle we wish to update. It also takes an int outLineColor which is the rgb value of a Color object.- Specified by:
updateCursorBoxOnScreenin interfacePdfDecoderInt
-
paint
- Overrides:
paintin classJComponent
-
paintComponent
standard method to draw page and any highlights onto JPanel -
repaintOffscreenImage
public void repaintOffscreenImage()- Specified by:
repaintOffscreenImagein interfacePdfDecoderInt
-
getPDFWidth
public 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- Returns:
- the width of the pdf page (includes scaling)
-
getPDFHeight
public final int getPDFHeight()get sizes of panel - This is the PDF pagesize- Specified by:
getPDFHeightin interfacePdfDecoderInt- Returns:
- the height of the pdf page (includes scaling)
-
setPDFBorder
set border for screen and print which will be displayed
setting a new value will enable screen and border painting - disable with disableBorderForPrinting()- Specified by:
setPDFBorderin interfacePdfDecoderInt- Parameters:
newBorder- a border to be displayed
-
getPDFBorder
get border for screen and print which will be displayed- Returns:
- Border
-
setHardwareAccelerationforScreen
public void setHardwareAccelerationforScreen(boolean useAcceleration) Enables/Disables hardware acceleration of screen rendering (default is on)- Specified by:
setHardwareAccelerationforScreenin interfacePdfDecoderInt
-
getScrollInterval
public int getScrollInterval()return amount to scroll window by when scrolling (default is 10)- Specified by:
getScrollIntervalin interfacePdfDecoderInt- Returns:
- int
-
setScrollInterval
public void setScrollInterval(int scrollInterval) set amount to scroll window by when scrolling- Specified by:
setScrollIntervalin interfacePdfDecoderInt- Parameters:
scrollInterval- scroll interval
-
getDisplayView
public int getDisplayView()returns view mode used - ie SINGLE_PAGE,CONTINUOUS,FACING,CONTINUOUS_FACING (no effect in OS versions)- Specified by:
getDisplayViewin interfacePdfDecoderInt
-
setPrintPageScalingMode
public void setPrintPageScalingMode(int pageScalingMode) set page scaling mode to use - default setting is PAGE_SCALING_REDUCE_TO_PRINTER_MARGINS All values start PAGE_SCALING- Parameters:
pageScalingMode- mode to set
-
setUsePDFPaperSize
public void setUsePDFPaperSize(boolean usePDFPaperSize) -
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
-
getNumberOfPages
public int getNumberOfPages()part of pageable interface - used only in printing Use getPageCount() for number of pages- Specified by:
getNumberOfPagesin interfacePageable
-
getPageFormat
part of pageable interface- Specified by:
getPageFormatin interfacePageable- Throws:
IndexOutOfBoundsException
-
getUserSetPageFormat
Returns pageFormats set by the user for a given page or a standard page format for all pages if set.- Parameters:
p- :: Page to check for a page format- Returns:
- PageFormat that has been set or null is no value has been sets
- Throws:
IndexOutOfBoundsException- incorrect index
-
setCenterOnScaling
public void setCenterOnScaling(boolean center) Specify if the pdf page should be centered within the pageformat when print.- Parameters:
center- :: If true the pdf page will be centered in the imageable area.
-
setPrintAutoRotate
public void setPrintAutoRotate(boolean rotate) Specify if the pdf page should be rotated to best fit the printed page imagable area.- Parameters:
rotate- :: If true the pdf page will be rotated to better fit the imageable area.
-
setPageFormat
Set PageFormat for a specific page when printing. If no pageFormat is set a default will be used. Recommended to use setPageFormat(PageFormat pf) to set a single PageFormat for all pages.- Parameters:
p- int value representing the page number to apply the PageFormat topf- PageFormat object to be used when printing the specified page
-
setPageFormat
Set PageFormat to be used when a specific PageFormat has not been set for a page.- Parameters:
pf- PageFormat object to be used when printing
-
setPagePrintRange
set inclusive range to print (see SilentPrint.java and Viewer.java for sample print code (invalid range will throw PdfException) can take values such as new PageRanges("3,5,7-9,15");- Parameters:
range- range of pages to print- Throws:
PdfException- PdfException
-
setPrintPageMode
public void setPrintPageMode(int mode) allow user to select only odd or even pages to print- Parameters:
mode- mode to use for printing
-
stopPrinting
public final void stopPrinting()ask JPedal to stop printing a page -
getCurrentPrintPage
public int getCurrentPrintPage()return page currently being printed or -1 if finished- Returns:
- int
-
resetCurrentPrintPage
public void resetCurrentPrintPage() -
getSpecialMode
public int getSpecialMode()retusn a value defined in SpecialOptions used internally and in custom JPedal releases- 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- Specified by:
useNewGraphicsModein interfacePdfDecoderInt- Parameters:
isEnabled- true to switch on glow border
-
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- Overrides:
requestFocusin classJComponent
-
getTextPrint
public int getTextPrint()- Specified by:
getTextPrintin interfacePdfDecoderInt
-
getViewerPreferences
public org.jpedal.objects.raw.PdfObject getViewerPreferences()- Specified by:
getViewerPreferencesin interfacePdfDecoderInt
-
setImageNameCollector
public void setImageNameCollector(org.jpedal.external.ImageNameCollector imageNameCollector) - Specified by:
setImageNameCollectorin interfacePdfDecoderInt
-