Repository: syncope Updated Branches: refs/heads/2_0_X 7bd67e918 -> 7c5daa5f2
[SYNCOPE-1094] fixed through pdfbox best practices Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/7c5daa5f Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/7c5daa5f Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/7c5daa5f Branch: refs/heads/2_0_X Commit: 7c5daa5f23a3766b8d0b2d148afd55a874f97cad Parents: 7bd67e9 Author: Andrea Patricelli <[email protected]> Authored: Wed May 24 16:54:51 2017 +0200 Committer: Andrea Patricelli <[email protected]> Committed: Wed May 24 16:54:51 2017 +0200 ---------------------------------------------------------------------- .../html/form/preview/BinaryPDFPreviewer.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/7c5daa5f/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java index 8b478a9..da00856 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java @@ -24,7 +24,11 @@ import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.Serializable; +import org.apache.pdfbox.cos.COSObject; +import org.apache.pdfbox.io.MemoryUsageSetting; +import org.apache.pdfbox.pdmodel.DefaultResourceCache; import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.graphics.PDXObject; import org.apache.pdfbox.rendering.ImageType; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.syncope.client.console.annotations.BinaryPreview; @@ -44,7 +48,7 @@ public class BinaryPDFPreviewer extends AbstractBinaryPreviewer { private static final int IMG_SIZE = 300; - private static final float RESOLUTION = 96; + private static final float DPI = 100; private static final ImageType IMAGE_TYPE = ImageType.RGB; @@ -60,11 +64,18 @@ public class BinaryPDFPreviewer extends AbstractBinaryPreviewer { PDDocument document = null; try { - document = PDDocument.load(new ByteArrayInputStream(uploadedBytes)); + document = PDDocument.load(new ByteArrayInputStream(uploadedBytes), 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).renderImage(0, RESOLUTION, IMAGE_TYPE); + firstPage = new PDFRenderer(document).renderImageWithDPI(0, DPI, IMAGE_TYPE); } } catch (IOException e) { LOG.error("While generating thumbnail from first page", e);
