Author: kmorin Date: 2015-01-09 11:38:00 +0000 (Fri, 09 Jan 2015) New Revision: 746 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/746 Log: fixes #6418 Erreur ?\195?\160 l'ouverture de certains pdf Modified: trunk/faxtomail-ui-swing/pom.xml trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java trunk/pom.xml Modified: trunk/faxtomail-ui-swing/pom.xml =================================================================== --- trunk/faxtomail-ui-swing/pom.xml 2015-01-08 15:27:43 UTC (rev 745) +++ trunk/faxtomail-ui-swing/pom.xml 2015-01-09 11:38:00 UTC (rev 746) @@ -250,17 +250,26 @@ <artifactId>com.springsource.javax.media.jai.codec</artifactId> </dependency> - <!-- for pdf edition --> - <!--<dependency>--> - <!--<groupId>org.jpedal</groupId>--> - <!--<artifactId>jpedal-lgpl</artifactId>--> - <!--</dependency>--> - <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> </dependency> + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcprov-jdk15on</artifactId> + </dependency> + + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcmail-jdk15on</artifactId> + </dependency> + + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcpkix-jdk15on</artifactId> + </dependency> + </dependencies> <build> Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java 2015-01-08 15:27:43 UTC (rev 745) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/GenerateAnnotatedAttachmentAction.java 2015-01-09 11:38:00 UTC (rev 746) @@ -24,24 +24,8 @@ * #L% */ -import java.awt.*; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; - -import javax.swing.JTextArea; - -import com.franciaflex.faxtomail.services.FaxToMailServiceContext; -import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; -import com.itextpdf.text.DocumentException; -import com.itextpdf.text.Element; -import com.itextpdf.text.ExceptionConverter; -import jaxx.runtime.JAXXContext; -import jaxx.runtime.JAXXUtil; - import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.ui.swing.content.attachment.AttachmentEditorUI; import com.franciaflex.faxtomail.ui.swing.content.pdfeditor.PDFEditorCrossUI; import com.franciaflex.faxtomail.ui.swing.content.pdfeditor.PDFEditorHighlighterUI; @@ -50,19 +34,30 @@ import com.franciaflex.faxtomail.ui.swing.content.pdfeditor.PDFEditorUI; import com.franciaflex.faxtomail.ui.swing.content.pdfeditor.PDFEditorUIHandler; import com.franciaflex.faxtomail.ui.swing.content.pdfeditor.PDFEditorUIModel; +import com.franciaflex.faxtomail.ui.swing.util.FaxToMailUIUtil; import com.itextpdf.text.BaseColor; -import com.itextpdf.text.Document; +import com.itextpdf.text.DocumentException; +import com.itextpdf.text.Element; +import com.itextpdf.text.ExceptionConverter; import com.itextpdf.text.Font; import com.itextpdf.text.Phrase; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.ColumnText; -import com.itextpdf.text.pdf.PdfAction; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfGState; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.PdfStamper; -import com.itextpdf.text.pdf.PdfWriter; +import jaxx.runtime.JAXXContext; +import jaxx.runtime.JAXXUtil; +import javax.swing.*; +import java.awt.*; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; + import static org.nuiton.i18n.I18n.t; /** @@ -85,6 +80,8 @@ InputStream inputStream = new FileInputStream(file); + // to save protected pdfs + PdfReader.unethicalreading = true; PdfReader pdfReader = new PdfReader(inputStream); //File target = new File(FileUtils.getTempDirectory(), getModel().getOriginalFile().getName() + "-annoté.pdf"); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2015-01-08 15:27:43 UTC (rev 745) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/pdfeditor/PDFEditorUIHandler.java 2015-01-09 11:38:00 UTC (rev 746) @@ -178,6 +178,9 @@ if (FaxToMailUIUtil.isFileAPDF(attachmentFile)) { try { pdDocument = PDDocument.loadLegacy(file); + if (pdDocument.isEncrypted()) { + pdDocument.decrypt(""); + } model.setPageNumber(pdDocument.getNumberOfPages()); model.setCurrentPageIndex(1); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2015-01-08 15:27:43 UTC (rev 745) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2015-01-09 11:38:00 UTC (rev 746) @@ -515,6 +515,9 @@ if (result) { pdDocument = PDDocument.loadLegacy(fis); + if (pdDocument.isEncrypted()) { + pdDocument.decrypt(""); + } final PDFRenderer renderer = new PDFRenderer(pdDocument); final int numOfPages = pdDocument.getNumberOfPages(); Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2015-01-08 15:27:43 UTC (rev 745) +++ trunk/pom.xml 2015-01-09 11:38:00 UTC (rev 746) @@ -680,6 +680,24 @@ <version>2.0.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcprov-jdk15on</artifactId> + <version>1.51</version> + </dependency> + + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcmail-jdk15on</artifactId> + <version>1.51</version> + </dependency> + + <dependency> + <groupId>org.bouncycastle</groupId> + <artifactId>bcpkix-jdk15on</artifactId> + <version>1.51</version> + </dependency> + </dependencies> </dependencyManagement>