diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java
index df83994a..86667e1f 100644
--- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java
+++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java
@@ -75,6 +75,8 @@ public class ZUGFeRDExporter implements Closeable {
private boolean disableAutoClose;
+ private boolean fileAttached=false;
+
public ZUGFeRDExporter() {
init();
}
@@ -274,7 +276,6 @@ public class ZUGFeRDExporter implements Closeable {
* setZUGFeRDXMLData(byte[] zugferdData)
*/
public void PDFattachZugferdFile(IZUGFeRDExportableTransaction trans) throws IOException {
-
xmlProvider.generateXML(trans);
String filename = getFilenameForVersion(ZFVersion);
PDFAttachGenericFile(doc, filename, "Alternative",
@@ -283,6 +284,9 @@ public class ZUGFeRDExporter implements Closeable {
}
public void export(String ZUGFeRDfilename) throws IOException {
+ if (!fileAttached) {
+ throw new IOException("File must be attached (usually with PDFattachZugferdFile) before perfoming this operation");
+ }
doc.save(ZUGFeRDfilename);
if (!disableAutoClose) {
close();
@@ -290,6 +294,9 @@ public class ZUGFeRDExporter implements Closeable {
}
public void export(OutputStream output) throws IOException {
+ if (!fileAttached) {
+ throw new IOException("File must be attached (usually with PDFattachZugferdFile) before perfoming this operation");
+ }
doc.save(output);
if (!disableAutoClose) {
close();
@@ -316,6 +323,8 @@ public class ZUGFeRDExporter implements Closeable {
*/
public void PDFAttachGenericFile(PDDocument doc, String filename, String relationship, String description,
String subType, byte[] data) throws IOException {
+ fileAttached=true;
+
PDComplexFileSpecification fs = new PDComplexFileSpecification();
fs.setFile(filename);
diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java
index 2e1647f4..4960de8e 100644
--- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java
+++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java
@@ -183,8 +183,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase {
+ "\n" + "\n"
+ "\n" + "";
zea1.setZUGFeRDXMLData(ownZUGFeRDXML.getBytes("UTF-8"));
- zea1.PDFattachZugferdFile(null);
-
+
ByteArrayOutputStream baos=new ByteArrayOutputStream();
zea1.disableAutoClose(true);
zea1.export(TARGET_PDF);
diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java
index e47d360b..c1c2d44b 100644
--- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java
+++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java
@@ -412,7 +412,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp
ze.setZUGFeRDVersion(1);
ze.PDFattachZugferdFile(this);
String theXML=new String(ze.getProvider().getXML());
- //assertTrue(theXML.contains("