List of usage examples for com.lowagie.text.pdf PdfWriter setPdfVersion
public void setPdfVersion(PdfName version)
From source file:org.adempiere.pdf.Document.java
License:Open Source License
private static void writePDF(Pageable pageable, OutputStream output) { try {// w ww . j av a 2 s . c o m final PageFormat pf = pageable.getPageFormat(0); final com.lowagie.text.Document document = new com.lowagie.text.Document( new Rectangle((int) pf.getWidth(), (int) pf.getHeight())); final PdfWriter writer = PdfWriter.getInstance(document, output); writer.setPdfVersion(PdfWriter.VERSION_1_2); document.open(); final DefaultFontMapper mapper = new DefaultFontMapper(); //Elaine 2009/02/17 - load additional font from directory set in PDF_FONT_DIR of System Configurator String pdfFontDir = MSysConfig.getValue(PDF_FONT_DIR, ""); if (pdfFontDir != null && pdfFontDir.trim().length() > 0) { pdfFontDir = pdfFontDir.trim(); File dir = new File(pdfFontDir); if (dir.exists() && dir.isDirectory()) mapper.insertDirectory(pdfFontDir); } // final float w = (float) pf.getWidth(); final float h = (float) pf.getHeight(); final PdfContentByte cb = writer.getDirectContent(); for (int page = 0; page < pageable.getNumberOfPages(); page++) { if (page != 0) { document.newPage(); } final PdfTemplate tp = cb.createTemplate(w, h); final Graphics2D g2 = tp.createGraphics(w, h, mapper); tp.setWidth(w); tp.setHeight(h); pageable.getPrintable(page).print(g2, pf, page); g2.dispose(); cb.addTemplate(tp, 0, 0); } document.close(); } catch (Exception e) { e.printStackTrace(); } }
From source file:org.adempiere.util.Document.java
private static void writePDF(Pageable pageable, OutputStream output) { try {// w ww . j ava2 s .c om final PageFormat pf = pageable.getPageFormat(0); Rectangle pageSize = new Rectangle((int) pf.getWidth(), (int) pf.getHeight()); final com.lowagie.text.Document document = new com.lowagie.text.Document(pageSize); final PdfWriter writer = PdfWriter.getInstance(document, output); writer.setPdfVersion(PdfWriter.VERSION_1_2); document.open(); final DefaultFontMapper mapper = new DefaultFontMapper(); String pdfFontDir = /* MSysConfig.getValue( */PDF_FONT_DIR/* , "") */; if (pdfFontDir != null && pdfFontDir.trim().length() > 0) { pdfFontDir = pdfFontDir.trim(); File dir = new File(pdfFontDir); if (dir.exists() && dir.isDirectory()) mapper.insertDirectory(pdfFontDir); } final float w = (float) pf.getWidth(); final float h = (float) pf.getHeight(); final PdfContentByte cb = writer.getDirectContent(); for (int page = 0; page < pageable.getNumberOfPages(); page++) { if (page != 0) { document.newPage(); } final PdfTemplate tp = cb.createTemplate(w, h); final Graphics2D g2 = tp.createGraphics(w, h, mapper); tp.setWidth(w); tp.setHeight(h); pageable.getPrintable(page).print(g2, pf, page); g2.dispose(); cb.addTemplate(tp, 0, 0); } document.close(); } catch (Exception e) { e.printStackTrace(); } }
From source file:org.deegree.igeo.commands.VectorPrintCommand.java
License:Open Source License
/** * initializes the {@link Document} required for printing using iText * // w w w . j av a2s.co m * @return graphic context ({@link Graphics2D}) of the initialized document * @throws FileNotFoundException * @throws DocumentException */ private Graphics2D initDocument() throws FileNotFoundException, DocumentException { String pageFormat = printDefinition.getPageFormat(); Rectangle pageSize; if (pageFormat != null) pageSize = PageSize.getRectangle(pageFormat); else pageSize = new Rectangle(printDefinition.getPageWidth(), printDefinition.getPageHeight()); LOG.logDebug("page size", pageSize); // create (pdf) document with selected pages size; set margin and PDF-version document = new Document(pageSize); document.setMargins(printDefinition.getAreaLeft(), printDefinition.getAreaLeft() + printDefinition.getAreaWidth(), printDefinition.getAreaTop(), printDefinition.getAreaTop() + printDefinition.getAreaHeight()); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(printDefinition.getTargetFile())); writer.setPdfVersion(printDefinition.getPdfVersion()); document.open(); PdfContentByte cb = writer.getDirectContent(); // create canvas Graphics2D g = cb.createGraphics(convert(pageSize.getWidth() / 72 * 25.4), convert(pageSize.getHeight() / 72 * 25.4)); LOG.logDebug("canvas size", convert(pageSize.getWidth() / 72 * 25.4) + " " + convert(pageSize.getHeight() / 72 * 25.4)); // required for correct scaling of raster symbols int i1 = convert(pageSize.getHeight() / 72 * 25.4); int i2 = convert_(pageSize.getHeight() / 72 * 25.4); g.translate(0, i1 - i2); g.scale(72d / printDefinition.getDpi(), 72d / printDefinition.getDpi()); return g; }
From source file:org.mapfish.print.MapPrinter.java
License:Open Source License
/** * Generate the PDF using the given spec. * * @return The context that was used for printing. *//*from w w w .ja v a 2 s .c o m*/ public RenderingContext print(PJsonObject jsonSpec, OutputStream outFile, String referer) throws DocumentException { final String layoutName = jsonSpec.getString(Constants.JSON_LAYOUT_KEY); Layout layout = config.getLayout(layoutName); if (layout == null) { throw new RuntimeException("Unknown layout '" + layoutName + "'"); } Document doc = new Document(layout.getFirstPageSize(null, jsonSpec)); PdfWriter writer = PdfWriter.getInstance(doc, outFile); if (!layout.isSupportLegacyReader()) { writer.setFullCompression(); writer.setPdfVersion(PdfWriter.PDF_VERSION_1_5); writer.setCompressionLevel(PdfStream.BEST_COMPRESSION); } RenderingContext context = new RenderingContext(doc, writer, config, jsonSpec, configDir, layout, referer); layout.render(jsonSpec, context); doc.close(); writer.close(); return context; }
From source file:org.openconcerto.erp.generationDoc.SheetUtils.java
License:Open Source License
public static void convert2PDF(final OpenDocument doc, final File pdfFileToCreate) throws Exception { assert (!SwingUtilities.isEventDispatchThread()); // Open the PDF document Document document = new Document(PageSize.A4, 50, 50, 50, 50); try {// w ww. j a v a2s . co m FileOutputStream fileOutputStream = new FileOutputStream(pdfFileToCreate); // Create the writer PdfWriter writer = PdfWriter.getInstance(document, fileOutputStream); writer.setPdfVersion(PdfWriter.VERSION_1_6); writer.setFullCompression(); document.open(); PdfContentByte cb = writer.getDirectContent(); // Configure the renderer ODTRenderer renderer = new ODTRenderer(doc); renderer.setIgnoreMargins(false); renderer.setPaintMaxResolution(true); // Scale the renderer to fit width renderer.setResizeFactor(renderer.getPrintWidth() / document.getPageSize().getWidth()); // Print pages for (int i = 0; i < renderer.getPrintedPagesNumber(); i++) { Graphics2D g2 = cb.createGraphics(PageSize.A4.getWidth(), PageSize.A4.getHeight()); // If you want to prevent copy/paste, you can use // g2 = tp.createGraphicsShapes(w, h, true, 0.9f); // Render renderer.setCurrentPage(i); renderer.paintComponent(g2); g2.dispose(); // Add our spreadsheet in the middle of the page if (i < renderer.getPrintedPagesNumber() - 1) document.newPage(); } // Close the PDF document document.close(); // writer.close(); fileOutputStream.close(); } catch (Exception originalExn) { ExceptionHandler.handle("Impossible de crer le PDF " + pdfFileToCreate.getAbsolutePath(), originalExn); } }
From source file:org.pdfsam.console.business.pdf.handlers.interfaces.AbstractCmdExecutor.java
License:Open Source License
/** * Sets the pdf version setting on the pdf writer depending on the inputCommand * /*from w w w .j a v a2 s . c o m*/ * @param inputCommand * @param pdfWriter * @param defaultVersion * default version to apply if the inputCommand version is null */ protected void setPdfVersionSettingOnWriter(AbstractParsedCommand inputCommand, PdfWriter pdfWriter, Character defaultVersion) { if (inputCommand.getOutputPdfVersion() != null) { pdfWriter.setPdfVersion(inputCommand.getOutputPdfVersion().charValue()); } else { if (defaultVersion != null) { pdfWriter.setPdfVersion(defaultVersion.charValue()); } } }
From source file:org.xhtmlrenderer.pdf.ITextRenderer.java
License:Open Source License
/** * <B>NOTE:</B> Caller is responsible for cleaning up the OutputStream if * something goes wrong./*from w w w . j a va 2s .co m*/ */ public void createPDF(OutputStream os, boolean finish, int initialPageNo) throws DocumentException { List pages = _root.getLayer().getPages(); RenderingContext c = newRenderingContext(); c.setInitialPageNo(initialPageNo); PageBox firstPage = (PageBox) pages.get(0); com.lowagie.text.Rectangle firstPageSize = new com.lowagie.text.Rectangle(0, 0, firstPage.getWidth(c) / _dotsPerPoint, firstPage.getHeight(c) / _dotsPerPoint); com.lowagie.text.Document doc = new com.lowagie.text.Document(firstPageSize, 0, 0, 0, 0); PdfWriter writer = PdfWriter.getInstance(doc, os); if (_pdfVersion != null) { writer.setPdfVersion(_pdfVersion.charValue()); } if (_pdfEncryption != null) { writer.setEncryption(_pdfEncryption.getUserPassword(), _pdfEncryption.getOwnerPassword(), _pdfEncryption.getAllowedPrivileges(), _pdfEncryption.getEncryptionType()); } _pdfDoc = doc; _writer = writer; firePreOpen(); doc.open(); writePDF(pages, c, firstPageSize, doc, writer); if (finish) { fireOnClose(); doc.close(); } }
From source file:questions.encryption.HelloWorldMetadataNotEncrypted.java
public static void main(String[] args) { // step 1//from www.ja v a 2s. c om Document document = new Document(); try { // step 2 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); writer.setEncryption("hello".getBytes(), "world".getBytes(), 0, PdfWriter.ENCRYPTION_AES_128 | PdfWriter.DO_NOT_ENCRYPT_METADATA); writer.createXmpMetadata(); writer.setPdfVersion(PdfWriter.VERSION_1_5); // step 3 document.open(); // step 4 document.add(new Paragraph("Hello World")); writer.addAnnotation(PdfAnnotation.createFileAttachment(writer, new Rectangle(100f, 650f, 150f, 700f), "This is some text", "some text".getBytes(), null, "some.txt")); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // step 5 document.close(); }
From source file:questions.ocg.AddOptionalContentToExistingPdf.java
public static void main(String[] args) throws IOException, DocumentException { // creating an empty document Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT01)); writer.setPdfVersion(PdfWriter.VERSION_1_5); document.open();//w w w. jav a2 s .c o m writer.setPageEmpty(false); document.close(); PdfReader reader = new PdfReader(RESULT01); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT02)); PdfContentByte cb = stamper.getOverContent(1); writer = stamper.getWriter(); PdfLayer nested = new PdfLayer("Nested Layers", writer); PdfLayer nested_1 = new PdfLayer("Nested Layer 1", writer); PdfLayer nested_2 = new PdfLayer("Nested Layer 2", writer); PdfLayer layer21 = new PdfLayer("Layer 2", writer); PdfLayer layer22 = new PdfLayer("Layer 2", writer); nested_2.addChild(layer21); nested_2.addChild(layer22); nested.addChild(nested_1); nested.addChild(nested_2); cb.beginLayer(nested); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layers"), 50, 775, 0); cb.endLayer(); cb.beginLayer(nested_1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layer 1"), 100, 800, 0); cb.endLayer(); cb.beginLayer(nested_2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layer 2"), 100, 750, 0); cb.endLayer(); cb.beginLayer(layer21); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 2.1 in the group"), 150, 775, 0); cb.endLayer(); cb.beginLayer(layer22); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 2.2 in the group"), 150, 725, 0); cb.endLayer(); PdfLayer group = PdfLayer.createTitle("Grouped layers", writer); PdfLayer layer1 = new PdfLayer("Group: layer 1", writer); PdfLayer layer2 = new PdfLayer("Group: layer 2", writer); group.addChild(layer1); group.addChild(layer2); cb.beginLayer(layer1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 1 in the group"), 50, 700, 0); cb.endLayer(); cb.beginLayer(layer2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 2 in the group"), 50, 675, 0); cb.endLayer(); PdfLayer radiogroup = PdfLayer.createTitle("Radio Group", writer); PdfLayer radio1 = new PdfLayer("Radiogroup: layer 1", writer); radio1.setOn(true); PdfLayer radio2 = new PdfLayer("Radiogroup: layer 2", writer); radio2.setOn(false); PdfLayer radio3 = new PdfLayer("Radiogroup: layer 3", writer); radio3.setOn(false); radiogroup.addChild(radio1); radiogroup.addChild(radio2); radiogroup.addChild(radio3); ArrayList<PdfLayer> options = new ArrayList<PdfLayer>(); options.add(radio1); options.add(radio2); options.add(radio3); writer.addOCGRadioGroup(options); cb.beginLayer(radio1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 1"), 50, 600, 0); cb.endLayer(); cb.beginLayer(radio2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 2"), 50, 575, 0); cb.endLayer(); cb.beginLayer(radio3); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 3"), 50, 550, 0); cb.endLayer(); PdfLayer not_printed = new PdfLayer("not printed", writer); not_printed.setOnPanel(false); not_printed.setPrint("Print", false); cb.beginLayer(not_printed); ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, new Phrase("PRINT THIS PAGE"), 300, 700, 90); cb.endLayer(); PdfLayer zoom = new PdfLayer("Zoom 0.75-1.25", writer); zoom.setOnPanel(false); zoom.setZoom(0.75f, 1.25f); cb.beginLayer(zoom); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("Only visible if the zoomfactor is between 75 and 125%"), 30, 530, 90); cb.endLayer(); stamper.close(); reader = new PdfReader(RESULT02); stamper = new PdfStamper(reader, new FileOutputStream(RESULT03)); Map ocg = stamper.getPdfLayers(); for (Iterator i = ocg.keySet().iterator(); i.hasNext();) { System.out.println(i.next()); } PdfLayer layer = (PdfLayer) ocg.get("Layer 2"); layer.setOn(false); cb = stamper.getOverContent(1); cb.beginLayer(layer); cb.moveTo(0, 0); cb.lineTo(500, 500); cb.stroke(); cb.endLayer(); PdfLayer parent = (PdfLayer) ocg.get("Layer 2(2)"); PdfLayer newLayer = new PdfLayer("Child layer", stamper.getWriter()); newLayer.setOn(false); parent.addChild(newLayer); cb.beginLayer(newLayer); cb.moveTo(0, 500); cb.lineTo(500, 0); cb.stroke(); cb.endLayer(); stamper.close(); }
From source file:questions.ocg.LockedLayers.java
public static void main(String[] args) { Document document = new Document(); try {// w w w . j av a2 s.c o m PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); writer.setPdfVersion(PdfWriter.VERSION_1_5); writer.setViewerPreferences(PdfWriter.PageModeUseOC); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfLayer nested = new PdfLayer("Nested Layers", writer); PdfLayer nested_1 = new PdfLayer("Nested Layer 1", writer); PdfLayer nested_2 = new PdfLayer("Nested Layer 2", writer); nested.addChild(nested_1); nested.addChild(nested_2); cb.beginLayer(nested); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layers"), 50, 775, 0); cb.endLayer(); cb.beginLayer(nested_1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layer 1"), 100, 800, 0); cb.endLayer(); cb.beginLayer(nested_2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layer 2"), 100, 750, 0); cb.endLayer(); PdfLayer group = PdfLayer.createTitle("Grouped layers", writer); PdfLayer layer1 = new PdfLayer("Group: layer 1", writer); PdfLayer layer2 = new PdfLayer("Group: layer 2", writer); group.addChild(layer1); group.addChild(layer2); cb.beginLayer(layer1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 1 in the group"), 50, 700, 0); cb.endLayer(); cb.beginLayer(layer2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 2 in the group"), 50, 675, 0); cb.endLayer(); PdfLayer radiogroup = PdfLayer.createTitle("Radio Group", writer); PdfLayer radio1 = new PdfLayer("Radiogroup: layer 1", writer); radio1.setOn(true); PdfLayer radio2 = new PdfLayer("Radiogroup: layer 2", writer); radio2.setOn(false); PdfLayer radio3 = new PdfLayer("Radiogroup: layer 3", writer); radio3.setOn(false); radiogroup.addChild(radio1); radiogroup.addChild(radio2); radiogroup.addChild(radio3); ArrayList<PdfLayer> options = new ArrayList<PdfLayer>(); options.add(radio1); options.add(radio2); options.add(radio3); writer.addOCGRadioGroup(options); cb.beginLayer(radio1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 1"), 50, 600, 0); cb.endLayer(); cb.beginLayer(radio2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 2"), 50, 575, 0); cb.endLayer(); cb.beginLayer(radio3); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 3"), 50, 550, 0); cb.endLayer(); PdfLayer not_printed = new PdfLayer("not printed", writer); not_printed.setOnPanel(false); not_printed.setPrint("Print", false); cb.beginLayer(not_printed); ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, new Phrase("PRINT THIS PAGE"), 300, 700, 90); cb.endLayer(); PdfLayer zoom = new PdfLayer("Zoom 0.75-1.25", writer); zoom.setOnPanel(false); zoom.setZoom(0.75f, 1.25f); cb.beginLayer(zoom); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("Only visible if the zoomfactor is between 75 and 125%"), 30, 530, 90); cb.endLayer(); writer.lockLayer(nested_1); writer.lockLayer(layer2); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } document.close(); }