branch feature/erreur_au_chargement_des_PJ created (now a36e8ae8)
This is an automated email from the git hooks/post-receive script. New change to branch feature/erreur_au_chargement_des_PJ in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git at a36e8ae8 en cas d'erteur au chargemenr d'une page d'un pièce joint, la remplacer par une page d'erreur sans bloquer l'ouverture du mail This branch includes the following new commits: new a36e8ae8 en cas d'erteur au chargemenr d'une page d'un pièce joint, la remplacer par une page d'erreur sans bloquer l'ouverture du mail The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit a36e8ae83708b9bcf6aff15090e1e839da6bfb5f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Jun 12 11:55:26 2018 +0200 en cas d'erteur au chargemenr d'une page d'un pièce joint, la remplacer par une page d'erreur sans bloquer l'ouverture du mail -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/erreur_au_chargement_des_PJ in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit a36e8ae83708b9bcf6aff15090e1e839da6bfb5f Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Jun 12 11:55:26 2018 +0200 en cas d'erteur au chargemenr d'une page d'un pièce joint, la remplacer par une page d'erreur sans bloquer l'ouverture du mail --- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 51 ++++++++++++++++++++-- .../i18n/faxtomail-ui-swing_fr_FR.properties | 1 + 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java index ecac3cb1..8779855a 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java @@ -95,6 +95,7 @@ import java.awt.Desktop; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; +import java.awt.Graphics2D; import java.awt.Image; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; @@ -972,7 +973,16 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { for (int i = 0 ; i < pdDocument.getNumberOfPages() ; i++) { JImagePanel imagePanel = new JImagePanel(); imagePanel.setScaleImageToFitPanel(true); - imagePanel.setImage(renderer.renderImage(i)); + BufferedImage image; + try { + image = renderer.renderImage(i); + } catch (Exception e) { + if (log.isErrorEnabled()) { + log.error("Error on load pdf (page " + i + ")", e); + } + image = generateErrorImage(e.getMessage()); + } + imagePanel.setImage(image); imagePanel.setAlignmentX(Component.LEFT_ALIGNMENT); box.add(imagePanel); box.add(Box.createVerticalStrut(3)); @@ -989,8 +999,17 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { ImageDecoder tifImageDecoder = ImageCodec.createImageDecoder(names[0], stream, null); for (int i = 0 ; i < tifImageDecoder.getNumPages() ; i++) { - RenderedImage renderedImage = tifImageDecoder.decodeAsRenderedImage(i); - Image awtImage = PlanarImage.wrapRenderedImage(renderedImage).getAsBufferedImage(); + Image awtImage; + try { + RenderedImage renderedImage = tifImageDecoder.decodeAsRenderedImage(i); + awtImage = PlanarImage.wrapRenderedImage(renderedImage).getAsBufferedImage(); + } catch (Exception e) { + if (log.isErrorEnabled()) { + log.error("Error on load tif (page " + i + ")", e); + } + awtImage = generateErrorImage(e.getMessage()); + } + JImagePanel imagePanel = new JImagePanel(); int maxWidth = config.getMaxWidthImageInTextPane(); @@ -1047,6 +1066,32 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { } } + protected static BufferedImage generateErrorImage(String message) { + BufferedImage image = new BufferedImage(600, 800, BufferedImage.TYPE_INT_ARGB); + Graphics2D graphics = image.createGraphics(); + + graphics.setBackground(Color.WHITE); + graphics.setColor(Color.WHITE); + graphics.fillRect(0, 0, 600, 800); + + String fontName = graphics.getFont().toString(); + Font font = new Font(fontName, Font.BOLD, 20); + + graphics.setFont(font); + graphics.setColor(Color.RED); + graphics.drawString(t("faxtomail.image.error"), 50, 200); + + if (message != null) { + font = new Font(fontName, Font.PLAIN, 14); + graphics.setFont(font); + graphics.drawString(message, 60, 230); + } + + graphics.dispose(); + + return image; + } + public static String getQuotedReplyContent(String signing, String receptionDate, String sender, String originalEmail) { String quotedReply = t("faxtomail.reply.message", signing, diff --git a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties index 178fff6b..32fc6c66 100644 --- a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties +++ b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties @@ -250,6 +250,7 @@ faxtomail.forward.message=<html><body><p></p>%s<p>--- Message transféré ---<br faxtomail.historyList.action.tip=Historique faxtomail.historyList.text=Historique (%s) faxtomail.historyList.title=Historique +faxtomail.image.error=Erreur au chargement du document faxtomail.main.action.about=À propos faxtomail.main.action.about.tip=À propos faxtomail.main.action.demandeList=Gestion des fax -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm