diff -ur src-orig/jpdftweak/cli/BurstImagesOption.java src/jpdftweak/cli/BurstImagesOption.java
--- src-orig/jpdftweak/cli/BurstImagesOption.java 2011-12-19 20:15:18.000000000 +0100
+++ src/jpdftweak/cli/BurstImagesOption.java 2013-10-19 16:05:46.238950800 +0200
@@ -14,11 +14,9 @@
private PdfToImage.ImageType fileType;
private PdfToImage.TiffCompression compressionType = PdfToImage.TiffCompression.NONE;
private int quality = 100;
- private boolean transparent = false;
public boolean supportsOption(String option) {
return option.equals("-colormode") || option.equals("-tiffcompression")
- || option.equals("-transparency")
|| option.equals("-imagequality")
|| option.equals("-burstfiletype");
}
@@ -38,15 +36,6 @@
throw new DocumentException(
"Please refer to \"-help -tiffcompression\"");
}
- } else if (option.equals("-transparency")) {
- if (value.equals("YES")) {
- transparent = true;
- } else if (value.equals("NO")) {
- transparent = false;
- } else {
- throw new DocumentException(
- "Please refer to \"-help -transparency\"");
- }
} else if (option.equals("-imagequality")) {
if (!checkQuality(value)) {
throw new DocumentException(
@@ -96,20 +85,15 @@
public void run(PdfTweak tweak, PdfInputFile masterFile)
throws IOException, DocumentException {
if (fileType != null && fileType != PdfToImage.ImageType.PDF) {
- if ((fileType == PdfToImage.ImageType.TIFF)
- && colorMode != PdfToImage.ColorMode.RGB) {
- transparent = false;
- }
- tweak.setPdfImages(new PdfToImage(true, colorMode, fileType, compressionType, quality, transparent));
+ tweak.setPdfImages(new PdfToImage(true, colorMode, fileType, compressionType, quality));
} else {
- tweak.setPdfImages(new PdfToImage(false, colorMode, fileType, compressionType, quality, transparent));
+ tweak.setPdfImages(new PdfToImage(false, colorMode, fileType, compressionType, quality));
}
}
public String getSummary() {
return " -colormode Set the color mode of the exported images\n"
+ " -tiffcompression Set compression type for TIFF image files\n"
- + " -transparency Set if your image has transparent layers\n"
+ " -imagequality Set the quality for the exported images\n"
+ " -burstfiletype Set the file type of the burst pages\n";
}
@@ -125,12 +109,6 @@
+ " Set compression type for TIFF image files\n"
+ " accepted values:{NONE, LWZ, JPEG, ZLIB, PACKBITS, DEFLATE}\n"
+ " *option applicable only on burst pages function \n";
- } else if (option.equals("-transparency")) {
- return " -transparency {YES/NO}\n"
- + " Set if your image has transparent layers\n"
- + " accepted values:{YES, NO}\n"
- + " *option applicable only on burst pages function \n"
- + " and PNG,TIFF,PAM,GIF images\n";
} else if (option.equals("-imagequality")) {
return " -imagequality {0-100}\n"
+ " Set the quality for the exported images\n"
diff -ur src-orig/jpdftweak/core/PdfToImage.java src/jpdftweak/core/PdfToImage.java
--- src-orig/jpdftweak/core/PdfToImage.java 2011-12-19 20:15:18.000000000 +0100
+++ src/jpdftweak/core/PdfToImage.java 2013-10-19 16:36:28.120950800 +0200
@@ -8,9 +8,12 @@
import javax.imageio.ImageIO;
import com.jmupdf.pdf.PdfDocument;
-import com.jmupdf.Document;
-import com.jmupdf.Page;
-import com.jmupdf.PageRenderer;
+import com.jmupdf.document.Document;
+import com.jmupdf.page.Page;
+import com.jmupdf.page.PageRenderer;
+import com.jmupdf.enums.TifCompression;
+import com.jmupdf.enums.TifMode;
+import com.jmupdf.enums.ImageType;
/**
* PdfToImage Class uses JmuPdf and ImageIO libraries to
@@ -30,26 +33,29 @@
*/
public class PdfToImage {
- private int colorMode, compressionType, quality, transparent;
+ private com.jmupdf.enums.ImageType colorMode;
+ private TifCompression compressionType;
+ private int quality;
private ImageType imageType;
boolean burstImages;
public static enum ColorMode{
- RGB(PageRenderer.IMAGE_TYPE_RGB, "RGB"),
- GRAY(PageRenderer.IMAGE_TYPE_GRAY, "Grayscale"),
- BNW(PageRenderer.IMAGE_TYPE_BINARY, "Black and White"),
- BNWI(PageRenderer.IMAGE_TYPE_BINARY_DITHER, "Black and White Indexed");
+ RGB(com.jmupdf.enums.ImageType.IMAGE_TYPE_RGB, "RGB"),
+ ARGB(com.jmupdf.enums.ImageType.IMAGE_TYPE_ARGB, "RGB with transparency"),
+ GRAY(com.jmupdf.enums.ImageType.IMAGE_TYPE_GRAY, "Grayscale"),
+ BNW(com.jmupdf.enums.ImageType.IMAGE_TYPE_BINARY, "Black and White"),
+ BNWI(com.jmupdf.enums.ImageType.IMAGE_TYPE_BINARY_DITHER, "Black and White Indexed");
- private int code;
+ private com.jmupdf.enums.ImageType code;
private String name;
- private ColorMode(int code, String name) {
+ private ColorMode(com.jmupdf.enums.ImageType code, String name) {
this.code = code;
this.name = name;
}
- public int getCode() {
+ public com.jmupdf.enums.ImageType getCode() {
return code;
}
@@ -60,20 +66,20 @@
}
public static enum TiffCompression {
- NONE(PdfDocument.TIF_COMPRESSION_NONE),
- LZW(PdfDocument.TIF_COMPRESSION_LZW),
- JPEG(PdfDocument.TIF_COMPRESSION_JPEG),
- ZLIB(PdfDocument.TIF_COMPRESSION_ZLIB),
- PACKBITS(PdfDocument.TIF_COMPRESSION_PACKBITS),
- DEFLATE(PdfDocument.TIF_COMPRESSION_DEFLATE);
+ NONE(TifCompression.TIF_COMPRESSION_NONE),
+ LZW(TifCompression.TIF_COMPRESSION_LZW),
+ JPEG(TifCompression.TIF_COMPRESSION_JPEG),
+ ZLIB(TifCompression.TIF_COMPRESSION_ZLIB),
+ PACKBITS(TifCompression.TIF_COMPRESSION_PACKBITS),
+ DEFLATE(TifCompression.TIF_COMPRESSION_DEFLATE);
- private int code;
+ private TifCompression code;
- private TiffCompression(int code) {
+ private TiffCompression(TifCompression code) {
this.code = code;
}
- public int getCode() {
+ public TifCompression getCode() {
return code;
}
}
@@ -82,23 +88,14 @@
PDF,JPG,PNG,GIF,PAM,PNM,BMP,TIFF;
}
- public PdfToImage(boolean burstImages, ColorMode colorMode, ImageType imageType, TiffCompression compressionType, int quality, boolean transparent) throws IOException {
+ public PdfToImage(boolean burstImages, ColorMode colorMode, ImageType imageType, TiffCompression compressionType, int quality) throws IOException {
this.colorMode = colorMode.getCode();
this.compressionType = compressionType.getCode();
this.burstImages = burstImages;
this.imageType = imageType;
- this.transparent = matchTransparency(transparent);
this.quality = quality;
}
- private int matchTransparency(boolean transparent) {
- if (transparent) {
- return PdfDocument.IMAGE_SAVE_ALPHA;
- } else {
- return PdfDocument.IMAGE_SAVE_NO_ALPHA;
- }
- }
-
public boolean shouldExecute() {
return this.burstImages;
}
@@ -153,10 +150,9 @@
document.saveAsTif((i + 1),
outputFilePath,
1.0f,
- transparent,
colorMode,
compressionType,
- Document.TIF_DATA_APPEND,
+ TifMode.TIF_DATA_APPEND,
quality);
}
document.dispose();
@@ -173,7 +169,7 @@
document.saveAsJPeg(1,
outputFilePath,
1.0f,
- colorMode,
+ colorMode,
quality);
break;
}
@@ -181,7 +177,6 @@
document.saveAsPng(1,
outputFilePath,
1.0f,
- transparent,
colorMode);
break;
}
@@ -189,7 +184,6 @@
document.saveAsPam(1,
outputFilePath,
1.0f,
- transparent,
colorMode);
break;
}
@@ -201,10 +195,9 @@
document.saveAsTif(1,
outputFilePath,
1.0f,
- transparent,
- colorMode,
+ colorMode,
compressionType,
- Document.TIF_DATA_APPEND,
+ TifMode.TIF_DATA_APPEND,
quality);
break;
}
diff -ur src-orig/jpdftweak/core/PdfTweak.java src/jpdftweak/core/PdfTweak.java
--- src-orig/jpdftweak/core/PdfTweak.java 2011-12-19 20:15:18.000000000 +0100
+++ src/jpdftweak/core/PdfTweak.java 2013-10-19 16:46:52.234950800 +0200
@@ -905,7 +905,7 @@
overContent.setGState(gs1);
overContent.beginText();
if (wmColor != null)
- overContent.setColorFill(new BaseColor(wmColor));
+ overContent.setColorFill(new BaseColor(wmColor.getRed(), wmColor.getGreen(), wmColor.getBlue(), wmColor.getAlpha()));
overContent.setFontAndSize(bf, wmSize);
overContent.setTextMatrix(m1, m2, m3, m4, xoff + size.getWidth() / 2,
yoff + size.getHeight() / 2);
Nur in src/jpdftweak/core: .PdfTweak.java.swp.
diff -ur src-orig/jpdftweak/gui/tabs/OutputTab.java src/jpdftweak/gui/tabs/OutputTab.java
--- src-orig/jpdftweak/gui/tabs/OutputTab.java 2011-12-19 20:15:18.000000000 +0100
+++ src/jpdftweak/gui/tabs/OutputTab.java 2013-10-19 16:38:19.885950800 +0200
@@ -33,7 +33,7 @@
private JTextField outputFile;
private JSlider qualitySlider;
- private JCheckBox burst, multipageTiff, transparent, uncompressed, pageMarks, tempfiles, optimizeSize, fullyCompressed;
+ private JCheckBox burst, multipageTiff, uncompressed, pageMarks, tempfiles, optimizeSize, fullyCompressed;
private JLabel colorLabel, compressionLabel, qualityLabel, warning;
private JComboBox fileType, colorMode, compressionType;
private JPanel imagePanel;
@@ -108,7 +108,7 @@
whichToEnable(fileType.getSelectedIndex());
if(fileType.getSelectedIndex() == 0){
- setOptionsEnabled(false, false, false, false, true);
+ setOptionsEnabled(false, false, false, true);
if(warning.getToolTipText().equals("Images will be exported in 72 dpi")){
warning.setIcon(null);
warning.setToolTipText("");
@@ -127,28 +127,11 @@
this.add(imagePanel = new JPanel(new FormLayout("f:p, f:p:g, f:p", "f:p, f:p, f:p, 30px")), cc.xyw(1, 5, 3));
imagePanel.add(colorLabel = new JLabel("Color Mode:"), cc.xy(1, 1));
- imagePanel.add(colorMode = new JComboBox(new javax.swing.DefaultComboBoxModel(new PdfToImage.ColorMode[] { PdfToImage.ColorMode.RGB, PdfToImage.ColorMode.GRAY, PdfToImage.ColorMode.BNW, PdfToImage.ColorMode.BNWI})), cc.xyw(2, 1, 2));
+ imagePanel.add(colorMode = new JComboBox(new javax.swing.DefaultComboBoxModel(new PdfToImage.ColorMode[] { PdfToImage.ColorMode.RGB, PdfToImage.ColorMode.ARGB, PdfToImage.ColorMode.GRAY, PdfToImage.ColorMode.BNW, PdfToImage.ColorMode.BNWI})), cc.xyw(2, 1, 2));
colorMode.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent arg0) {
if(fileType.getSelectedIndex() == 7 || multipageTiff.isSelected()){
PdfToImage.ColorMode selectedColorMode = (PdfToImage.ColorMode) colorMode.getSelectedItem();
- switch (selectedColorMode) {
- case GRAY:{
- transparent.setEnabled(false);
- break;
- }
- case BNW:{
- transparent.setEnabled(false);
- break;
- }
- case BNWI:{
- transparent.setEnabled(false);
- break;
- }
- default:
- transparent.setEnabled(true);
- break;
- }
}
}
});
@@ -159,15 +142,15 @@
PdfToImage.TiffCompression selectedTiffCompression = (PdfToImage.TiffCompression) compressionType.getSelectedItem();
switch (selectedTiffCompression) {
case JPEG:{
- setOptionsEnabled(true, true, true, colorMode.getSelectedIndex() == 0, false);
+ setOptionsEnabled(true, true, true, false);
break;
}
case ZLIB:{
- setOptionsEnabled(true, true, true, colorMode.getSelectedIndex() == 0, false);
+ setOptionsEnabled(true, true, true, false);
break;
}
default:
- setOptionsEnabled(true, true, false, colorMode.getSelectedIndex() == 0, false);
+ setOptionsEnabled(true, true, false, false);
break;
}
}
@@ -175,7 +158,6 @@
imagePanel.add(qualityLabel = new JLabel("Quality:"), cc.xy(1, 3));
imagePanel.add(qualitySlider = new JSlider(), cc.xyw(2, 3, 2));
qualitySlider.setValue(100);
- imagePanel.add(transparent = new JCheckBox("Save transparency of image background"), cc.xyw(1, 4, 2));
imagePanel.add(warning = new JLabel(""), cc.xy(3, 4));
imagePanel.setBorder(new TitledBorder("Burst as Image Options"));
this.add(new JSeparator(), cc.xyw(1, 6, 3));
@@ -196,7 +178,7 @@
"<P>: Input file path without filename
" +
"<#>: Next free number (where file does not exist)
" +
"* Page number (for bursting pages)"), cc.xyw(1,12,3));
- setOptionsEnabled(false, false, false, false, true);
+ setOptionsEnabled(false, false, false, true);
}
private void findSharedLibrary() {
@@ -278,71 +260,61 @@
}
switch (option) {
case 0:{
- setOptionsEnabled(false, false, false, false, true);
+ setOptionsEnabled(false, false, false, true);
break;
}
case 1:{
- setOptionsEnabled(true, false, true, false, false);
+ setOptionsEnabled(true, false, true, false);
break;
}
case 2:{
- setOptionsEnabled(true,false,false,true,false);
+ setOptionsEnabled(true,false,false,false);
break;
}
case 3:{
- setOptionsEnabled(true,false,false,true,false);
+ setOptionsEnabled(true,false,false,false);
break;
}
case 4:{
- setOptionsEnabled(true,false,false,true,false);
+ setOptionsEnabled(true,false,false,false);
break;
}
case 5:{
- setOptionsEnabled(true,false,false,false,false);
+ setOptionsEnabled(true,false,false,false);
break;
}
case 6:{
- setOptionsEnabled(true,false,false,false,false);
+ setOptionsEnabled(true,false,false,false);
break;
}
case 7:{
- setOptionsEnabled(true,true,false,true,false);
+ setOptionsEnabled(true,true,false,false);
break;
}
case 100:{ //multipageTiff enabled
- setOptionsEnabled(true,true,false,true,false);
+ setOptionsEnabled(true,true,false,false);
break;
}
default:
- setOptionsEnabled(false, false, false, false, true);
+ setOptionsEnabled(false, false, false, true);
break;
}
}
- private void setOptionsEnabled(boolean color, boolean compression, boolean quality, boolean transparency, boolean pdfOptions){
+ private void setOptionsEnabled(boolean color, boolean compression, boolean quality, boolean pdfOptions){
colorLabel.setEnabled(color);
colorMode.setEnabled(color);
compressionLabel.setEnabled(compression);
compressionType.setEnabled(compression);
qualityLabel.setEnabled(quality);
qualitySlider.setEnabled(quality);
- transparent.setEnabled(transparency);
uncompressed.setEnabled(pdfOptions);
pageMarks.setEnabled(pdfOptions);
optimizeSize.setEnabled(pdfOptions);
fullyCompressed.setEnabled(pdfOptions);
}
- private boolean matchTransparency(boolean transparency) {
- if(transparent.isEnabled()){
- return transparency;
- }
- else{
- return false;
- }
- }
-
@Override
public String getTabName() {
return "Output";
@@ -370,13 +342,12 @@
tweak.removePageMarks();
}
}
- boolean matchedTransparency = matchTransparency(transparent.isSelected());
boolean burstImages = (fileType.getSelectedIndex() != 0 && !multipageTiff.isSelected());
PdfToImage.ImageType type = (PdfToImage.ImageType) fileType.getSelectedItem();
if(multipageTiff.isSelected()){
type = PdfToImage.ImageType.TIFF;
}
- tweak.setPdfImages(new PdfToImage(burstImages,(PdfToImage.ColorMode) colorMode.getSelectedItem(), type,(PdfToImage.TiffCompression) compressionType.getSelectedItem(), qualitySlider.getValue(), matchedTransparency));
+ tweak.setPdfImages(new PdfToImage(burstImages,(PdfToImage.ColorMode) colorMode.getSelectedItem(), type,(PdfToImage.TiffCompression) compressionType.getSelectedItem(), qualitySlider.getValue()));
tweak.writeOutput(outputFile.getText(),multipageTiff.isSelected(), burst.isSelected(), uncompressed.isSelected(), optimizeSize.isSelected(), fullyCompressed.isSelected());
return null;
}