You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2018/04/17 17:26:51 UTC
svn commit: r1829375 -
/pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java
Author: tilman
Date: Tue Apr 17 17:26:51 2018
New Revision: 1829375
URL: http://svn.apache.org/viewvc?rev=1829375&view=rev
Log:
PDFBOX-4192: support subsampling
Modified:
pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java
Modified: pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java?rev=1829375&r1=1829374&r2=1829375&view=diff
==============================================================================
--- pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java (original)
+++ pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/PDFToImage.java Tue Apr 17 17:26:51 2018
@@ -52,6 +52,7 @@ public final class PDFToImage
private static final String QUALITY = "-quality";
private static final String CROPBOX = "-cropbox";
private static final String TIME = "-time";
+ private static final String SUBSAMPLING = "-subsampling";
/**
* private constructor.
@@ -98,6 +99,7 @@ public final class PDFToImage
float cropBoxUpperRightX = 0;
float cropBoxUpperRightY = 0;
boolean showTime = false;
+ boolean subsampling = false;
try
{
dpi = Toolkit.getDefaultToolkit().getScreenResolution();
@@ -185,6 +187,10 @@ public final class PDFToImage
{
showTime = true;
}
+ else if( args[i].equals( SUBSAMPLING ) )
+ {
+ subsampling = true;
+ }
else
{
if( pdfFile == null )
@@ -249,6 +255,7 @@ public final class PDFToImage
boolean success = true;
endPage = Math.min(endPage, document.getNumberOfPages());
PDFRenderer renderer = new PDFRenderer(document);
+ renderer.setSubsamplingAllowed(subsampling);
for (int i = startPage - 1; i < endPage; i++)
{
BufferedImage image = renderer.renderImageWithDPI(i, dpi, imageType);
@@ -301,6 +308,7 @@ public final class PDFToImage
+ " -quality <float> : The quality to be used when compressing the image (0 < quality <= 1 (default))\n"
+ " -cropbox <int> <int> <int> <int> : The page area to export\n"
+ " -time : Prints timing information to stdout\n"
+ + " -subsampling : Activate subsampling (for PDFs with huge images)\n"
+ " <inputfile> : The PDF document to use\n";
System.err.println(message);