net.sf.jasperreports.engine.export
Class JRPdfExporter

java.lang.Object
  extended by net.sf.jasperreports.engine.JRAbstractExporter
      extended by net.sf.jasperreports.engine.export.JRPdfExporter
All Implemented Interfaces:
JRExporter

public class JRPdfExporter
extends JRAbstractExporter

Exports a JasperReports document to PDF format. It has binary output type and exports the document to a free-form layout.

Since classic AWT fonts can be sometimes very different from PDF fonts, a font mapping feature was added. By using the JRExporterParameter.FONT_MAP parameter, a logical font like "sansserif" can be mapped to a system specific font, like "Helvetica-BoldOblique". PDF font mapping is a little more complicated, because for a logical font, PDF cand provide two or more fonts, from the same family but with different styles (like "Helvetica", "Helvetica-Bold", "Helvetica-BoldOblique"). So every key in the map is a simple bean containing font family, bold and italic flag, and every value is another bean containing the PDF font name, encoding and embedding flag.

Version:
$Id: JRPdfExporter.java 2087 2008-02-12 14:53:19Z teodord $
Author:
Teodor Danciu (teodord@users.sourceforge.net)
See Also:
FontKey, PdfFont

Nested Class Summary
protected static class JRPdfExporter.Bookmark
           
protected static class JRPdfExporter.BookmarkStack
           
static class JRPdfExporter.NullOutputStream
          Output stream implementation that discards all the data.
 
Nested classes/interfaces inherited from class net.sf.jasperreports.engine.JRAbstractExporter
JRAbstractExporter.ParameterOverriddenResolver, JRAbstractExporter.ParameterOverrideResolver, JRAbstractExporter.ParameterResolver
 
Field Summary
protected  com.lowagie.text.Document document
           
protected static boolean fontsRegistered
           
protected  boolean forceSvgShapes
           
protected  JRHyperlinkProducerFactory hyperlinkProducerFactory
           
protected  com.lowagie.text.Document imageTesterDocument
           
protected  com.lowagie.text.pdf.PdfContentByte imageTesterPdfContentByte
           
protected  boolean is128BitKey
           
protected  boolean isCompressed
           
protected  boolean isCreatingBatchModeBookmarks
           
protected  boolean isEncrypted
           
protected static java.lang.String JR_PAGE_ANCHOR_PREFIX
           
protected  java.util.Map loadedImagesMap
           
protected  java.lang.String ownerPassword
           
static java.lang.String PDF_FORCE_SVG_SHAPES
          Deprecated. Replaced by JRPdfExporterParameter.PROPERTY_FORCE_SVG_SHAPES.
protected  com.lowagie.text.pdf.PdfContentByte pdfContentByte
           
protected  java.lang.String pdfJavaScript
           
protected  java.lang.Character pdfVersion
           
protected  com.lowagie.text.pdf.PdfWriter pdfWriter
           
protected  int permissions
           
protected  JRExportProgressMonitor progressMonitor
           
protected  com.lowagie.text.Image pxImage
           
protected  int reportIndex
           
protected  java.lang.String userPassword
           
 
Fields inherited from class net.sf.jasperreports.engine.JRAbstractExporter
classLoader, classLoaderSet, dateFormatCache, endPageIndex, fileResolver, fileResolverSet, filter, globalOffsetX, globalOffsetY, isModeBatch, jasperPrint, jasperPrintList, numberFormatCache, parameters, startPageIndex, urlHandlerFactory, urlHandlerFactorySet
 
Constructor Summary
JRPdfExporter()
           
 
Method Summary
protected  void addBookmark(int level, java.lang.String title, int x, int y)
           
protected  void exportBottomPen(JRPen leftPen, JRPen bottomPen, JRPen rightPen, JRPrintElement element)
           
protected  void exportBox(JRLineBox box, JRPrintElement element)
           
protected  void exportElements(java.util.Collection elements)
           
protected  void exportEllipse(JRPrintEllipse ellipse)
           
protected  void exportFrame(JRPrintFrame frame)
           
protected  void exportImage(JRPrintImage printImage)
           
protected  void exportLeftPen(JRPen topPen, JRPen leftPen, JRPen bottomPen, JRPrintElement element)
           
protected  void exportLine(JRPrintLine line)
           
protected  void exportPage(JRPrintPage page)
           
protected  void exportPen(JRPen pen, JRPrintElement element)
           
protected  void exportRectangle(JRPrintRectangle rectangle)
           
 void exportReport()
          Actually starts the export process.
protected  void exportReportToStream(java.io.OutputStream os)
           
protected  void exportRightPen(JRPen topPen, JRPen bottomPen, JRPen rightPen, JRPrintElement element)
           
protected  void exportText(JRPrintText text)
           
protected  void exportTopPen(JRPen topPen, JRPen leftPen, JRPen rightPen, JRPrintElement element)
           
protected  com.lowagie.text.Chunk getChunk(java.util.Map attributes, java.lang.String text)
           
protected  java.util.Map getDefaultPdfFontAttributes()
           
protected  com.lowagie.text.Font getFont(java.util.Map attributes)
           
protected  com.lowagie.text.Phrase getPhrase(JRStyledText styledText, JRPrintText textElement)
           
protected  com.lowagie.text.Image getPxImage()
           
protected  void initBookmarks()
           
protected static void registerFonts()
           
protected  void setAnchor(com.lowagie.text.Chunk chunk, JRPrintAnchor anchor, JRPrintElement element)
           
protected  void setHyperlinkInfo(com.lowagie.text.Chunk chunk, JRPrintHyperlink link)
           
protected  void setHyperlinkProducerFactory()
           
protected  void setSplitCharacter()
           
protected  void writePageAnchor(int pageIndex)
           
 
Methods inherited from class net.sf.jasperreports.engine.JRAbstractExporter
defaultParseNumber, getBooleanCellValue, getBooleanParameter, getDateCellValue, getDateFormat, getIntegerParameter, getNumberCellValue, getNumberFormat, getOffsetX, getOffsetY, getParameter, getParameterResolver, getParameters, getStringParameter, getStringParameterOrDefault, getStyledText, getStyledText, getTextFormatFactoryClass, getTextLocale, getTextTimeZone, getTextValue, getTextValueString, reset, resetClassLoader, resetExportContext, restoreElementOffsets, setClassLoader, setExportContext, setFrameElementsOffset, setInput, setOffset, setOffset, setOutput, setPageRange, setParameter, setParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PDF_FORCE_SVG_SHAPES

public static final java.lang.String PDF_FORCE_SVG_SHAPES
Deprecated. Replaced by JRPdfExporterParameter.PROPERTY_FORCE_SVG_SHAPES.
See Also:
Constant Field Values

JR_PAGE_ANCHOR_PREFIX

protected static final java.lang.String JR_PAGE_ANCHOR_PREFIX
See Also:
Constant Field Values

fontsRegistered

protected static boolean fontsRegistered

document

protected com.lowagie.text.Document document

pdfContentByte

protected com.lowagie.text.pdf.PdfContentByte pdfContentByte

pdfWriter

protected com.lowagie.text.pdf.PdfWriter pdfWriter

imageTesterDocument

protected com.lowagie.text.Document imageTesterDocument

imageTesterPdfContentByte

protected com.lowagie.text.pdf.PdfContentByte imageTesterPdfContentByte

progressMonitor

protected JRExportProgressMonitor progressMonitor

reportIndex

protected int reportIndex

forceSvgShapes

protected boolean forceSvgShapes

isCreatingBatchModeBookmarks

protected boolean isCreatingBatchModeBookmarks

isCompressed

protected boolean isCompressed

isEncrypted

protected boolean isEncrypted

is128BitKey

protected boolean is128BitKey

userPassword

protected java.lang.String userPassword

ownerPassword

protected java.lang.String ownerPassword

permissions

protected int permissions

pdfVersion

protected java.lang.Character pdfVersion

pdfJavaScript

protected java.lang.String pdfJavaScript

loadedImagesMap

protected java.util.Map loadedImagesMap

pxImage

protected com.lowagie.text.Image pxImage

hyperlinkProducerFactory

protected JRHyperlinkProducerFactory hyperlinkProducerFactory
Constructor Detail

JRPdfExporter

public JRPdfExporter()
Method Detail

getPxImage

protected com.lowagie.text.Image getPxImage()

exportReport

public void exportReport()
                  throws JRException
Description copied from interface: JRExporter
Actually starts the export process.

Specified by:
exportReport in interface JRExporter
Specified by:
exportReport in class JRAbstractExporter
Throws:
JRException

setSplitCharacter

protected void setSplitCharacter()

setHyperlinkProducerFactory

protected void setHyperlinkProducerFactory()

exportReportToStream

protected void exportReportToStream(java.io.OutputStream os)
                             throws JRException
Throws:
JRException

writePageAnchor

protected void writePageAnchor(int pageIndex)
                        throws com.lowagie.text.DocumentException
Throws:
com.lowagie.text.DocumentException

getDefaultPdfFontAttributes

protected java.util.Map getDefaultPdfFontAttributes()

exportPage

protected void exportPage(JRPrintPage page)
                   throws JRException,
                          com.lowagie.text.DocumentException,
                          java.io.IOException
Throws:
JRException
com.lowagie.text.DocumentException
java.io.IOException

exportElements

protected void exportElements(java.util.Collection elements)
                       throws com.lowagie.text.DocumentException,
                              java.io.IOException,
                              JRException
Throws:
com.lowagie.text.DocumentException
java.io.IOException
JRException

exportLine

protected void exportLine(JRPrintLine line)

exportRectangle

protected void exportRectangle(JRPrintRectangle rectangle)

exportEllipse

protected void exportEllipse(JRPrintEllipse ellipse)

exportImage

protected void exportImage(JRPrintImage printImage)
                    throws com.lowagie.text.DocumentException,
                           java.io.IOException,
                           JRException
Throws:
com.lowagie.text.DocumentException
java.io.IOException
JRException

setHyperlinkInfo

protected void setHyperlinkInfo(com.lowagie.text.Chunk chunk,
                                JRPrintHyperlink link)

getPhrase

protected com.lowagie.text.Phrase getPhrase(JRStyledText styledText,
                                            JRPrintText textElement)

getChunk

protected com.lowagie.text.Chunk getChunk(java.util.Map attributes,
                                          java.lang.String text)

getFont

protected com.lowagie.text.Font getFont(java.util.Map attributes)

exportText

protected void exportText(JRPrintText text)
                   throws com.lowagie.text.DocumentException
Throws:
com.lowagie.text.DocumentException

exportBox

protected void exportBox(JRLineBox box,
                         JRPrintElement element)

exportPen

protected void exportPen(JRPen pen,
                         JRPrintElement element)

exportTopPen

protected void exportTopPen(JRPen topPen,
                            JRPen leftPen,
                            JRPen rightPen,
                            JRPrintElement element)

exportLeftPen

protected void exportLeftPen(JRPen topPen,
                             JRPen leftPen,
                             JRPen bottomPen,
                             JRPrintElement element)

exportBottomPen

protected void exportBottomPen(JRPen leftPen,
                               JRPen bottomPen,
                               JRPen rightPen,
                               JRPrintElement element)

exportRightPen

protected void exportRightPen(JRPen topPen,
                              JRPen bottomPen,
                              JRPen rightPen,
                              JRPrintElement element)

registerFonts

protected static void registerFonts()

initBookmarks

protected void initBookmarks()

addBookmark

protected void addBookmark(int level,
                           java.lang.String title,
                           int x,
                           int y)

setAnchor

protected void setAnchor(com.lowagie.text.Chunk chunk,
                         JRPrintAnchor anchor,
                         JRPrintElement element)

exportFrame

protected void exportFrame(JRPrintFrame frame)
                    throws com.lowagie.text.DocumentException,
                           java.io.IOException,
                           JRException
Throws:
com.lowagie.text.DocumentException
java.io.IOException
JRException


© 2001-2006 JasperSoft Corporation www.jaspersoft.com