Example usage for com.lowagie.text.pdf PdfWriter setFullCompression

List of usage examples for com.lowagie.text.pdf PdfWriter setFullCompression

Introduction

In this page you can find the example usage for com.lowagie.text.pdf PdfWriter setFullCompression.

Prototype

public void setFullCompression() 

Source Link

Document

Use this method to set the document's compression to the PDF 1.5 mode with object streams and xref streams.

Usage

From source file:classroom.intro.HelloWorld03.java

public static void main(String[] args) {

    // step 1//from  w ww .ja  va2 s.c o  m
    Document document = new Document();
    try {
        // step 2
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        writer.setFullCompression();
        // step 3
        document.open();
        // step 4
        document.add(new Paragraph("Hello World"));
    } catch (DocumentException de) {
        System.err.println(de.getMessage());
    } catch (IOException ioe) {
        System.err.println(ioe.getMessage());
    }
    // step 5
    document.close();
}

From source file:de.intranda.test_ics.ImageHelper.java

License:Apache License

@SuppressWarnings("unused")
private void addPage(File imageFile, PdfWriter pdfWriter, Document pdfDocument, float shrinkRatio,
        float rotationDegree) throws DocumentException, IOException {

    float pointsPerInch = 200.0f;
    Image pageImage = null;/*  w ww. j a v a  2 s .c om*/
    float pageImageHeight = 0, pageImageWidth = 0;
    boolean lowMemory = (shrinkRatio == 1 ? false : true);

    URL inputImage = imageFile.toURI().toURL();

    pdfWriter.setFullCompression();
    pdfWriter.setStrictImageSequence(true);
    pdfWriter.setLinearPageMode();

    LOGGER.debug("Out of memory on loading image for pdf generation");
    // ByteArrayOutputStream stream = new ByteArrayOutputStream();
    BufferedImage bitmap = ImageIO.read(imageFile);
    // LOGGER.debug( "Size of temporary image bitmap: Width = " + bitmap.getWidth() + "; Height = " + bitmap.getHeight());
    LOGGER.debug("Reading file " + imageFile.getAbsolutePath());
    pageImage = Image.getInstance(bitmap, null, false);
    bitmap.flush();
    // stream.close();

    pageImage.setRotationDegrees(-rotationDegree);
    LOGGER.debug("Image dimensions: Width = " + pageImage.getWidth() + "; Height = " + pageImage.getHeight());
    pageImageHeight = pageImage.getHeight();
    pageImageWidth = pageImage.getWidth();
    pageImage.setAbsolutePosition(0, 0);
    // Rectangle pageRect = new Rectangle(pageImageWidth/shrinkRatio, pageImageHeight/shrinkRatio);
    com.lowagie.text.Rectangle pageRect = new com.lowagie.text.Rectangle(pageImageWidth, pageImageHeight);
    LOGGER.debug("Creating rectangle: Width = " + pageRect.getWidth() + "; Height = " + pageRect.getHeight());
    pdfDocument.setPageSize(pageRect);

    if (pdfDocument.isOpen()) {
        pdfDocument.newPage();
        pdfWriter.getDirectContent().addImage(pageImage);

    } else {
        pdfDocument.open();
        pdfWriter.getDirectContent().addImage(pageImage);
    }
    pdfWriter.flush();
    System.gc();
}

From source file:mitm.common.pdf.MessagePDFBuilder.java

License:Open Source License

private PdfWriter createPdfWriter(Document document, OutputStream pdfStream) throws DocumentException {
    PdfWriter pdfWriter = PdfWriter.getInstance(document, pdfStream);

    if (fullCompression) {
        pdfWriter.setFullCompression();
    }//  ww w  .  j  a va 2s.  c  o m

    pdfWriter.setViewerPreferences(getViewerPreferencesIntValue());

    return pdfWriter;
}

From source file:net.filterlogic.util.imaging.ToPDF.java

License:Apache License

public static void FromTIFF(String[] files, String pdfOutFile) throws OpenCaptureImagingException {
    String tiff_file;/*from   www  .j  a v  a2s .  co  m*/
    String pdf_file = pdfOutFile;

    try {

        Document document = new Document();

        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(pdf_file));
        writer.setFullCompression();
        int pages = 0;
        document.open();
        PdfContentByte cb = writer.getDirectContent();
        RandomAccessFileOrArray ra = null;

        for (int i = 0; i < files.length; i++) {
            int comps = 0;
            tiff_file = files[i];

            try {
                ra = new RandomAccessFileOrArray(tiff_file);
                comps = TiffImage.getNumberOfPages(ra);
            } catch (Throwable e) {
                throw new Exception("Exception in " + tiff_file + " " + e.toString());
                //continue;
            }

            //System.out.println("Processing: " + tiff_file);

            for (int c = 0; c < comps; ++c) {
                try {
                    Image img = TiffImage.getTiffImage(ra, c + 1);
                    if (img != null) {
                        //System.out.println("page " + (c + 1));

                        img.scaleToFit(675, 775);
                        img.setAbsolutePosition(0, 50);
                        //                            document.add(new Paragraph(tiff_file + " - page " + (c + 1)));

                        cb.addImage(img);
                        document.newPage();
                        ++pages;
                    }
                } catch (Throwable e) {
                    throw new Exception("Exception " + tiff_file + " page " + (c + 1) + " " + e.getMessage());
                }
            }

            ra.close();
        }

        // close pdf
        document.close();

    } catch (Exception e) {
        throw new OpenCaptureImagingException("ToPDF exception: " + e.toString());
    }

}

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   ww w.  j a  va  2s.  co  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  w w  .  j a  v a2  s . 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 compression settings on the pdf writer depending on the inputCommand
 * //from   w ww.  j av a  2 s .c  o m
 * @param inputCommand
 * @param pdfWriter
 */
protected void setCompressionSettingOnWriter(AbstractParsedCommand inputCommand, PdfWriter pdfWriter) {
    if (inputCommand.isCompress()) {
        pdfWriter.setFullCompression();
        pdfWriter.setCompressionLevel(PdfStream.BEST_COMPRESSION);
    }
}