This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 0d4320c436f02e3282750521d9ebf99eb0dc28b7 Author: jcouteau <couteau@codelutin.com> Date: Fri Jul 6 14:19:06 2018 +0200 fixes #10015 --- .../services/service/EmailServiceImpl.java | 7 +- .../services/service/EmailServiceTest.java | 12 +- .../src/test/resources/emails/test10015.eml | 152 +++++++++++++++++++++ 3 files changed, 169 insertions(+), 2 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index 086f2af0..1efa7668 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -138,6 +138,7 @@ import java.util.Set; import java.util.UUID; import java.util.regex.Pattern; +import static org.nuiton.i18n.I18n.init; import static org.nuiton.i18n.I18n.t; /** @@ -2320,7 +2321,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe float width = image.getWidth(); float height = image.getHeight(); - // get the format of the page + // get the format of the page, deal only with width as if height is more than page size, we will got 2 or more pages... Rectangle format = PageSize.A4; if (width > PageSize.A4.getWidth() && width <= PageSize.A4.getHeight()) { if (height <= PageSize.A4.getWidth()) { @@ -2357,6 +2358,10 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe if (width > PageSize.A0.getWidth()) { format = PageSize.A0.rotate(); } + if (width>PageSize.A0.getHeight()) { + //Plus grand que AO paysage, on met la largeur de l'image générée pour ne pas avoir de texte coupé + format = new Rectangle(width, height); + } Node style = doc.createElement("style"); style.setTextContent("@page { size: " + format.getWidth() + "px " + format.getHeight() + "px; }"); diff --git a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java index 071e8636..154de033 100644 --- a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java +++ b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java @@ -62,6 +62,7 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -344,13 +345,22 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { testConvertHTMLToPdf("test7855"); } + /** + * Test qui ne fail jamais, mais permet de vérifier la génération de PDFs très très larges + */ + @Test + public void test10015() { + testConvertHTMLToPdf("test10015"); + + } + protected void testConvertHTMLToPdf(String emailId) { File tempDirectory = FileUtils.getTempDirectory(); try { File email = new File("src/test/resources/emails/" + emailId + ".eml"); - String emailContent = FileUtils.readFileToString(email); + String emailContent = FileUtils.readFileToString(email, Charset.defaultCharset()); Properties properties = new Properties(); // set the mail.mime.address.strict to false to avoid diff --git a/faxtomail-service/src/test/resources/emails/test10015.eml b/faxtomail-service/src/test/resources/emails/test10015.eml new file mode 100644 index 00000000..cc272fd4 --- /dev/null +++ b/faxtomail-service/src/test/resources/emails/test10015.eml @@ -0,0 +1,152 @@ +Return-Path: <jean.couteau@gmail.com> +X-Original-To: faxtomail-tests@codelutin.com +Delivered-To: faxtomail-tests@codelutin.com +Received: from localhost (localhost [127.0.0.1]) + by bihar.codelutin.com (Postfix) with ESMTP id CE8A19D8C2 + for <faxtomail-tests@codelutin.com>; Thu, 5 Jul 2018 16:37:20 +0200 (CEST) +X-Virus-Scanned: Debian amavisd-new at codelutin.com +X-Spam-Flag: NO +X-Spam-Score: -1.998 +X-Spam-Level: +X-Spam-Status: No, score=-1.998 tagged_above=-1002 required=6.31 + tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, + DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_FONT_SIZE_LARGE=0.001, + HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] + autolearn=ham autolearn_force=no +Authentication-Results: localhost (amavisd-new); dkim=pass (2048-bit key) + header.d=gmail.com +Received: from bihar.codelutin.com ([127.0.0.1]) + by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) + with LMTP id LrXN0w9JlFkA for <faxtomail-tests@codelutin.com>; + Thu, 5 Jul 2018 16:37:18 +0200 (CEST) +Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) + by bihar.codelutin.com (Postfix) with ESMTPS id 9AB4A9D8BF + for <faxtomail-tests@codelutin.com>; Thu, 5 Jul 2018 16:37:18 +0200 (CEST) +Received: by mail-lj1-f176.google.com with SMTP id a6-v6so6848556ljj.7 + for <faxtomail-tests@codelutin.com>; Thu, 05 Jul 2018 07:35:39 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=gmail.com; s=20161025; + h=mime-version:from:date:message-id:subject:to; + bh=nkhUGLmw1BEpvYtmhNk3Q3kM0/5z7XXg4h67d0PFmmg=; + b=ZMypuxCegMSUvWhJwyPawL+3GN4esewxr+P/Y/gshVZH/xGpZE7ZNlBkKcbGxSdbxB + qWSNcBw3QWpphuYa1aZHar33W2LPW7yLip7yObdrpTz9JyWYVr8ccgQ/YUkciBa7W5P7 + VZh9A0uNsHwiBaJ0BFzsbTd9glA46b0OIUmjxK1ZiTPmRAoYQOtIguucMb8IPkoVEwCZ + 8yy3y954VfyM3tPmJ2bhbgJv3DNtjhLgmwmcuxE3LyjILWHq35xwEnrOxLR5FyXp1QWO + mS1vBs1S9jDLAgfXpaRu/M061EpywXGnICdjjiWp+Syoe9cNSH4uqlox3QFKZ/3NPoWH + h4aw== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:mime-version:from:date:message-id:subject:to; + bh=nkhUGLmw1BEpvYtmhNk3Q3kM0/5z7XXg4h67d0PFmmg=; + b=qkVum8AEOzJXXYd9Qfgh2hNLcQ7jvFbfoJgBWOh3N2WhYMvXphjww+Gt2dRnqaYl4q + UJHh/9vQiacCuQahVObcORV9VNYmtNzpeevPxEOUz5wPF6FEH3CFaN/IMmw9clRR0Uoh + vAAZ8wh4xF8sfUw1LZUpjYGMqWsaut6jF9NBNE/DHIs7osUrhkIQ/2Ja+TKNuTbkZJxC + Qbnsl0wZY6yH+4lCp7xkymTzvewBhkLtP4KeJJht0ZXhxhvDdXaFPcUwgrqpkrohxgL3 + Js0uomoZL4Y1J16KJlUnoQ3K0VSS3DZ6Yi93Yz98/BadYOihfyx7OatEkEeh2LduoOtB + UuYQ== +X-Gm-Message-State: APt69E3pbWAkueb0Mtg0oFN92+R+iio0/jqONR/sfrKMV5Gsxx9Sc0zR + GQRsm+fhXkGRqy7/EO8WWerNkgXVza9ejw+/YD7wzw== +X-Google-Smtp-Source: AAOMgpdQCN4NKvA5T9PWw1mSIZAwRgP3NEHNnzQAYfyLJOshc+rGPC9M849K+dSHcsFdvpcMKeSQKe7YZjq7LBQ2ivA= +X-Received: by 2002:a2e:5d88:: with SMTP id v8-v6mr4258906lje.137.1530801338150; + Thu, 05 Jul 2018 07:35:38 -0700 (PDT) +MIME-Version: 1.0 +From: Jean Couteau <jean.couteau@gmail.com> +Date: Thu, 5 Jul 2018 16:35:26 +0200 +Message-ID: <CAPkwLvUGrFbQ-qjvYFinnK0Vp+m410U0KnweN60p9_Ds_Tu51w@mail.gmail.com> +Subject: =?UTF-8?B?bWFpbCBkw6lwYXNzZSA/?= +To: faxtomail-tests@codelutin.com +Content-Type: multipart/alternative; boundary="000000000000fb765f0570417562" + +--000000000000fb765f0570417562 +Content-Type: text/plain; charset="UTF-8" +Content-Transfer-Encoding: quoted-printable + +*abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuv= +wxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrs= +tuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnop= +qrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm= +nopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghij= +klmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg= +hijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd= +efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza= +bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx= +yzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstu= +vwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr= +stuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmno= +pqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl= +mnopqrstuvwxyzabcdefghijklmnopqr* +stuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmno= +pqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl= +mnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnop +*qrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl= +mnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghi= +jklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdef= +ghijklmnopqrstuvwxyzabcdefghij* +klmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg= +hijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd= +efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza= +bcdefghi +*jklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcde= +fghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab= +cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxy= +zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuv= +wxyzabcdefghijklmnopqrstuvwxyzabcdefgh* +ijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcde= +fghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab= +cd +efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza= +bcdefghijklmnopqr +stuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmno= +pqrstuvwxyzabcd +efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza= +bcdefghijklmnopqrstuvwxyz + +--=20 +Jean Couteau +24 rue des Tanneurs +44220 Cou=C3=ABron +FRANCE + +--000000000000fb765f0570417562 +Content-Type: text/html; charset="UTF-8" +Content-Transfer-Encoding: quoted-printable + +<div dir=3D"ltr"><b>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc= +defghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz= +abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvw= +xyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst= +uvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopq= +rstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn= +opqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk= +lmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh= +ijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcde= +fghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzab= +cdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxy= +zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuv= +wxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrs= +tuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr</b>stuvwxyzabcdefghijkl= +mnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghi= +jklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdef= +ghijklmnopqrstuvwxyzabcdefghijklmnop<u>qrstuvwxyzabcdefghijklmnopqrstuvwxyz= +abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvw= +xyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst= +uvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghij</u>klm= +nopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghij= +klmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefg= +hijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd= +efghi<i>jklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx= +yzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstu= +vwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr= +stuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmno= +pqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh</i>ijklmnopqrstuvwxyzabcdefgh= +ijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcde= +fghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd<font color=3D"#a64d79">= +efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza= +bcdefghijklmnopqr</font>stuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopq= +rstuvwxyzabcdefghijklmnopqrstuvwxyzabcd<font size=3D"6">efghijklmnopqrstuvw= +xyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst= +uvwxyz</font><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr" class= +=3D"gmail_signature">Jean Couteau<br>24 rue des Tanneurs<br>44220 Cou=C3=AB= +ron<br>FRANCE</div></div> + +--000000000000fb765f0570417562-- -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.