Author: kmorin Date: 2015-01-08 06:29:38 +0000 (Thu, 08 Jan 2015) New Revision: 742 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/742 Log: refs #6391 Probl?\195?\168me d'encoding dans la visualisation des r?\195?\169ponses correction pbm impression Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/DemandDetailAction.java 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-07 15:50:07 UTC (rev 741) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java 2015-01-08 06:29:38 UTC (rev 742) @@ -22,13 +22,68 @@ * #L% */ -import static org.nuiton.i18n.I18n.t; +import com.franciaflex.faxtomail.persistence.entities.Attachment; +import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; +import com.franciaflex.faxtomail.persistence.entities.DemandType; +import com.franciaflex.faxtomail.persistence.entities.ExtensionCommand; +import com.franciaflex.faxtomail.persistence.entities.MailField; +import com.franciaflex.faxtomail.persistence.entities.MailFolder; +import com.franciaflex.faxtomail.persistence.entities.Reply; +import com.franciaflex.faxtomail.persistence.entities.ReplyContent; +import com.franciaflex.faxtomail.services.FaxToMailServiceContext; +import com.franciaflex.faxtomail.services.FaxToMailServiceUtils; +import com.franciaflex.faxtomail.services.service.ConfigurationService; +import com.franciaflex.faxtomail.services.service.EmailService; +import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIHandler; +import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; +import com.franciaflex.faxtomail.ui.swing.content.demande.RangeRowModel; +import com.google.common.base.Function; +import com.google.common.collect.Lists; +import com.google.common.collect.Ordering; +import com.itextpdf.text.Document; +import com.itextpdf.text.DocumentException; +import com.itextpdf.text.PageSize; +import com.itextpdf.text.Paragraph; +import com.itextpdf.text.pdf.PdfWriter; +import com.sun.media.jai.codec.ByteArraySeekableStream; +import com.sun.media.jai.codec.ImageCodec; +import com.sun.media.jai.codec.ImageDecoder; +import com.sun.media.jai.codec.SeekableStream; +import jaxx.runtime.JAXXObject; +import jaxx.runtime.JAXXUtil; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.Predicate; +import org.apache.commons.io.Charsets; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.SystemUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.rendering.PDFRenderer; +import org.nuiton.jaxx.application.ApplicationTechnicalException; +import org.nuiton.jaxx.application.swing.util.ApplicationUIUtil; +import org.nuiton.util.FileUtil; +import org.nuiton.util.StringUtil; +import javax.media.jai.PlanarImage; +import javax.print.attribute.HashPrintRequestAttributeSet; +import javax.print.attribute.PrintRequestAttributeSet; +import javax.swing.*; +import javax.swing.event.HyperlinkEvent; +import javax.swing.event.HyperlinkListener; +import javax.swing.text.html.HTMLEditorKit; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeCellRenderer; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreeModel; +import javax.swing.tree.TreePath; import java.awt.*; import java.awt.image.BufferedImage; import java.awt.image.RenderedImage; import java.awt.print.PageFormat; -import java.awt.print.Paper; import java.awt.print.Printable; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; @@ -53,69 +108,8 @@ import java.util.Map; import java.util.regex.Pattern; -import javax.media.jai.PlanarImage; -import javax.print.attribute.HashPrintRequestAttributeSet; -import javax.print.attribute.PrintRequestAttributeSet; -import javax.swing.*; -import javax.swing.event.HyperlinkEvent; -import javax.swing.event.HyperlinkListener; -import javax.swing.text.html.HTMLEditorKit; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeCellRenderer; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreeModel; -import javax.swing.tree.TreePath; +import static org.nuiton.i18n.I18n.t; -import jaxx.runtime.JAXXObject; -import jaxx.runtime.JAXXUtil; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.Predicate; -import org.apache.commons.io.Charsets; -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.SystemUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.pdfbox.pdmodel.PDDocument; -import org.apache.pdfbox.pdmodel.PDPage; -import org.apache.pdfbox.printing.PDFPrinter; -import org.apache.pdfbox.rendering.PDFRenderer; -import org.nuiton.jaxx.application.ApplicationTechnicalException; -import org.nuiton.jaxx.application.swing.util.ApplicationUIUtil; -import org.nuiton.util.FileUtil; -import org.nuiton.util.StringUtil; - -import com.franciaflex.faxtomail.persistence.entities.Attachment; -import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; -import com.franciaflex.faxtomail.persistence.entities.DemandType; -import com.franciaflex.faxtomail.persistence.entities.ExtensionCommand; -import com.franciaflex.faxtomail.persistence.entities.MailField; -import com.franciaflex.faxtomail.persistence.entities.MailFolder; -import com.franciaflex.faxtomail.persistence.entities.Reply; -import com.franciaflex.faxtomail.persistence.entities.ReplyContent; -import com.franciaflex.faxtomail.services.FaxToMailServiceContext; -import com.franciaflex.faxtomail.services.FaxToMailServiceUtils; -import com.franciaflex.faxtomail.services.service.ConfigurationService; -import com.franciaflex.faxtomail.services.service.EmailService; -import com.franciaflex.faxtomail.ui.swing.FaxToMailUIContext; -import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIHandler; -import com.franciaflex.faxtomail.ui.swing.content.demande.DemandeUIModel; -import com.franciaflex.faxtomail.ui.swing.content.demande.RangeRowModel; -import com.google.common.base.Function; -import com.google.common.collect.Lists; -import com.google.common.collect.Ordering; -import com.itextpdf.text.Document; -import com.itextpdf.text.DocumentException; -import com.itextpdf.text.PageSize; -import com.itextpdf.text.Paragraph; -import com.itextpdf.text.pdf.PdfWriter; -import com.sun.media.jai.codec.ByteArraySeekableStream; -import com.sun.media.jai.codec.ImageCodec; -import com.sun.media.jai.codec.ImageDecoder; -import com.sun.media.jai.codec.SeekableStream; - /** * @author kmorin - morin@codelutin.com * @@ -520,7 +514,7 @@ result = defaultPrinter || printJob.printDialog(attributes); if (result) { - pdDocument = PDDocument.load(fis); + pdDocument = PDDocument.loadLegacy(fis); final PDFRenderer renderer = new PDFRenderer(pdDocument); final int numOfPages = pdDocument.getNumberOfPages(); Modified: trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/DemandDetailAction.java =================================================================== --- trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/DemandDetailAction.java 2015-01-07 15:50:07 UTC (rev 741) +++ trunk/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/DemandDetailAction.java 2015-01-08 06:29:38 UTC (rev 742) @@ -24,32 +24,23 @@ * #L% */ -import com.franciaflex.faxtomail.persistence.entities.Attachment; import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; import com.franciaflex.faxtomail.persistence.entities.AttachmentFileImpl; -import com.franciaflex.faxtomail.persistence.entities.AttachmentImpl; -import com.franciaflex.faxtomail.persistence.entities.Client; import com.franciaflex.faxtomail.persistence.entities.Email; -import com.franciaflex.faxtomail.persistence.entities.EmailGroup; import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.History; -import com.franciaflex.faxtomail.persistence.entities.MailField; import com.franciaflex.faxtomail.persistence.entities.OriginalEmail; import com.franciaflex.faxtomail.persistence.entities.RangeRow; import com.franciaflex.faxtomail.persistence.entities.Reply; import com.franciaflex.faxtomail.persistence.entities.ReplyContent; import com.franciaflex.faxtomail.services.DecoratorService; import com.franciaflex.faxtomail.services.FaxToMailServiceUtils; -import com.franciaflex.faxtomail.services.service.ConfigurationService; import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.web.FaxToMailActionSupport; import com.google.common.base.Function; import com.google.common.base.Preconditions; -import com.google.common.collect.Collections2; import com.google.common.collect.Lists; import com.google.common.collect.Ordering; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; @@ -73,23 +64,17 @@ import javax.mail.Part; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; -import java.awt.*; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; -import java.util.Comparator; import java.util.List; -import java.util.Map; import static org.nuiton.i18n.I18n.t; @@ -186,7 +171,8 @@ if (message.isMimeType("multipart/*")) { decomposeMultipartEmail(message, replyModel); } else { - String content = IOUtils.toString(message.getInputStream()); + Charset charset = FaxToMailServiceUtils.getCharset(message); + String content = IOUtils.toString(message.getInputStream(), charset); replyModel.setPlainContent(content); } @@ -276,7 +262,8 @@ decomposeMultipartEmail(message, replyModel); } else { - String content = IOUtils.toString(message.getInputStream()); + Charset charset = FaxToMailServiceUtils.getCharset(message); + String content = IOUtils.toString(message.getInputStream(), charset); replyModel.setPlainContent(content); } result.add(replyModel); @@ -377,7 +364,8 @@ decomposeMultipartEmail(message, emailUIModel); } else { - String content = IOUtils.toString(message.getInputStream()); + Charset charset = FaxToMailServiceUtils.getCharset(message); + String content = IOUtils.toString(message.getInputStream(), charset); emailUIModel.setPlainContent(content); }
participants (1)
-
kmorin@users.forge.codelutin.com