diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java index db885dcd..df83994a 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java @@ -73,6 +73,8 @@ public class ZUGFeRDExporter implements Closeable { private PDDocument doc; int ZFVersion; + private boolean disableAutoClose; + public ZUGFeRDExporter() { init(); } @@ -282,12 +284,19 @@ public class ZUGFeRDExporter implements Closeable { public void export(String ZUGFeRDfilename) throws IOException { doc.save(ZUGFeRDfilename); + if (!disableAutoClose) { + close(); + } } public void export(OutputStream output) throws IOException { doc.save(output); + if (!disableAutoClose) { + close(); + } } - + + /** * Embeds an external file (generic - any type allowed) in the PDF. * @@ -418,4 +427,12 @@ public class ZUGFeRDExporter implements Closeable { return doc; } + public boolean isAutoCloseDisabled() { + return disableAutoClose; + } + + public void disableAutoClose(boolean disableAutoClose) { + this.disableAutoClose = disableAutoClose; + } + } diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java index 56f8f7e9..2e1647f4 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java @@ -186,9 +186,10 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { zea1.PDFattachZugferdFile(null); ByteArrayOutputStream baos=new ByteArrayOutputStream(); - + zea1.disableAutoClose(true); zea1.export(TARGET_PDF); zea1.export(baos); + zea1.close(); String pdfContent=baos.toString("UTF-8"); assertFalse(pdfContent.indexOf("(via mustangproject.org")==-1); } catch (IOException e) { diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java index 1881e188..9121edc1 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java @@ -370,10 +370,12 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta ze.setZUGFeRDVersion(2); ze.PDFattachZugferdFile(this); + ze.disableAutoClose(true); ze.export(TARGET_PDF); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ze.export(baos); + ze.close(); String pdfContent = baos.toString("UTF-8"); assertFalse(pdfContent.indexOf("(via mustangproject.org") == -1);