/** * Creates a new PDFPrintable with the given page scaling and with optional page borders shown. * The image will be rasterized at the given DPI before being sent to the printer. * * @param document the document to print * @param scaling page scaling policy * @param showPageBorder true if page borders are to be printed * @param dpi if non-zero then the image will be rasterized at the given DPI * @param center true if the content is to be centered on the page (otherwise top-left). */ public PDFPrintable(PDDocument document, Scaling scaling, boolean showPageBorder, float dpi, boolean center) { this.document = document; this.renderer = new PDFRenderer(document); this.scaling = scaling; this.showPageBorder = showPageBorder; this.dpi = dpi; this.center = center; }
try { document = PDDocument.load(inputPdfFile); PDFRenderer pdfRenderer = new PDFRenderer(document); for (int page = 0; page < document.getNumberOfPages(); ++page) { BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
public static BufferedImage pageConvertToImage(PDPage page, int dpi, ImageType imageType) throws IOException { try (PDDocument document = new PDDocument()) { document.addPage(page); PDFRenderer renderer = new PDFRenderer(document); document.close(); return renderer.renderImageWithDPI(0, dpi, imageType); } }
private void stripPage(int page) throws IOException PDFRenderer pdfRenderer = new PDFRenderer(document); image = pdfRenderer.renderImage(page, SCALE);
PDFRenderer renderer = new PDFRenderer(document); renderer.setSubsamplingAllowed(subsampling); for (int i = startPage - 1; i < endPage; i++)
public RegionExtractor(PDDocument doc, int dpi) { this.renderer = new PDFRenderer(doc); this.dpi = dpi; }
/** * Creates a new PDFPrintable with the given page scaling and with optional page borders shown. * The image will be rasterized at the given DPI before being sent to the printer. * * @param document the document to print * @param scaling page scaling policy * @param showPageBorder true if page borders are to be printed * @param dpi if non-zero then the image will be rasterized at the given DPI * @param center true if the content is to be centered on the page (otherwise top-left). */ public PDFPrintable(PDDocument document, Scaling scaling, boolean showPageBorder, float dpi, boolean center) { this.document = document; this.renderer = new PDFRenderer(document); this.scaling = scaling; this.showPageBorder = showPageBorder; this.dpi = dpi; this.center = center; }
/** * Creates a new PDFPrintable with the given page scaling and with optional page borders shown. * The image will be rasterized at the given DPI before being sent to the printer. * * @param document the document to print * @param scaling page scaling policy * @param showPageBorder true if page borders are to be printed * @param dpi if non-zero then the image will be rasterized at the given DPI * @param center true if the content is to be centered on the page (otherwise top-left). */ public PDFPrintable(PDDocument document, Scaling scaling, boolean showPageBorder, float dpi, boolean center) { this.document = document; this.renderer = new PDFRenderer(document); this.scaling = scaling; this.showPageBorder = showPageBorder; this.dpi = dpi; this.center = center; }
return new PDFRenderer(doc).renderImage(0);
PDFRenderer renderer = new PDFRenderer(pdDocument); TemporaryResources tmp = new TemporaryResources(); try {
private void addSingleDocumentToResult(InputStream expectedPdfIS, int markerColor) throws IOException { try (PDDocument expectedDocument = PDDocument.load(expectedPdfIS)) { PDFRenderer expectedPdfRenderer = new PDFRenderer(expectedDocument); addExtraPages(expectedDocument, expectedPdfRenderer, 0, markerColor, true); } }
public static Image buildPDFPreview(int page, int zoom) { float newScale = ((float) zoom) / 100.0f; BufferedImage pageImage = null; try (PDDocument pdDocument = PDFService.getPDDocument()) { PDFRenderer pdfRenderer = new PDFRenderer(pdDocument); if (pdDocument.getNumberOfPages() >= page && page > 0){ pageImage = pdfRenderer.renderImage(page - 1); int width = (int) (newScale * pageImage.getWidth()); int height = (int) (newScale * pageImage.getHeight()); return pageImage.getScaledInstance(width, height, SCALE_TYPE); } return pageImage; } catch (IOException ex) { Exceptions.printStackTrace(ex); } return null; } }
private List<InputStream> convertToInputStream(InputStream source) throws ConversionException { ByteArrayOutputStream baos; List<InputStream> resultList = new ArrayList<>(); try { System.setProperty("sun.java2d.cmm", "sun.java2d.cmm.kcms.KcmsServiceProvider"); PDDocument document = PDDocument.load(source); PDFRenderer pdfRenderer = new PDFRenderer(document); for (int page = 0; page < document.getNumberOfPages(); ++page) { baos = new ByteArrayOutputStream(); BufferedImage bim; bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB); ImageIOUtil.writeImage(bim, "jpg", baos, 300); resultList.add(new ByteArrayInputStream(baos.toByteArray())); } document.close(); } catch (IOException e) { throw new ConversionException("Conversion failed because of an io exception." + e.getMessage(), e); } return resultList; }
PDFRenderer pdfRenderer = new PDFRenderer(document); for(int iPage=this.startPage-1;iPage<this.endPage;iPage++){ logger.info("Page No : " + (iPage+1));
public static ImageWithDimension renderPage(final InputStream documentIS, final int page, Environment environment) throws IOException { try (PDDocument pdDocument = PDDocument.load(documentIS, Utilities.getMemorySettings(environment.getDocumentCacheSize()))) { if (page >= pdDocument.getNumberOfPages()) { throw new IllegalArgumentException("Page out of range. Last page is: " + pdDocument.getNumberOfPages()); } pdDocument.setResourceCache(new ResourceCacheWithLimitedImages(environment)); PDFRenderer pdfRenderer = new PDFRenderer(pdDocument); return PdfComparator.renderPageAsImage(pdDocument, pdfRenderer, page); } } }
/** * @param currentItem item * @param source source input stream * @param verbose verbose mode * @return InputStream the resulting input stream * @throws Exception if error */ @Override public InputStream getDestinationStream(Item currentItem, InputStream source, boolean verbose) throws Exception { PDDocument doc = PDDocument.load(source); PDFRenderer renderer = new PDFRenderer(doc); BufferedImage buf = renderer.renderImage(0); // ImageIO.write(buf, "PNG", new File("custom-render.png")); doc.close(); JPEGFilter jpegFilter = new JPEGFilter(); return jpegFilter.getThumb(currentItem, buf, verbose); }
private void compare(final PDDocument expectedDocument, final PDDocument actualDocument) throws IOException { expectedDocument.setResourceCache(new ResourceCacheWithLimitedImages(environment)); PDFRenderer expectedPdfRenderer = new PDFRenderer(expectedDocument); actualDocument.setResourceCache(new ResourceCacheWithLimitedImages(environment)); PDFRenderer actualPdfRenderer = new PDFRenderer(actualDocument); final int minPageCount = Math.min(expectedDocument.getNumberOfPages(), actualDocument.getNumberOfPages()); CountDownLatch latch = new CountDownLatch(minPageCount); for (int pageIndex = 0; pageIndex < minPageCount; pageIndex++) { drawImage(latch, pageIndex, expectedDocument, actualDocument, expectedPdfRenderer, actualPdfRenderer); } Utilities.await(latch, "FullCompare", environment); Utilities.shutdownAndAwaitTermination(drawExecutor, "Draw"); Utilities.shutdownAndAwaitTermination(parrallelDrawExecutor, "Parallel Draw"); Utilities.shutdownAndAwaitTermination(diffExecutor, "Diff"); if (expectedDocument.getNumberOfPages() > minPageCount) { addExtraPages(expectedDocument, expectedPdfRenderer, minPageCount, MISSING_RGB, true); } else if (actualDocument.getNumberOfPages() > minPageCount) { addExtraPages(actualDocument, actualPdfRenderer, minPageCount, EXTRA_RGB, false); } }
BufferedImage bim = new PDFRenderer(document).renderImageWithDPI(0, 100); ImageIO.write(bim, "png", new File(file + ".png")); document.close();
@Override public Component preview(final byte[] uploadedBytes) { firstPage = null; try (InputStream bais = new ByteArrayInputStream(uploadedBytes); PDDocument document = PDDocument.load(bais, MemoryUsageSetting.setupTempFileOnly())) { document.setResourceCache(new DefaultResourceCache() { @Override public void put(final COSObject indirect, final PDXObject xobject) throws IOException { } }); if (document.isEncrypted()) { LOG.info("Document is encrypted, no preview is possible"); } else { firstPage = new PDFRenderer(document).renderImageWithDPI(0, DPI, IMAGE_TYPE); } } catch (IOException e) { LOG.error("While generating thumbnail from first page", e); } Fragment fragment; if (firstPage == null) { fragment = new Fragment("preview", "noPreviewFragment", this); } else { fragment = new Fragment("preview", "previewFragment", this); fragment.add(new NonCachingImage("previewImage", new ThumbnailImageResource(firstPage))); } WebMarkupContainer previewContainer = new WebMarkupContainer("previewContainer"); previewContainer.setOutputMarkupId(true); previewContainer.add(fragment); return this.addOrReplace(previewContainer); }
PDFRenderer renderer = new PDFRenderer(pdDocument); TemporaryResources tmp = new TemporaryResources(); try {