From f73eb39f804490cf071e5cead1c861c10ff5739e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jochen=20Sta=CC=88rk?= Date: Fri, 28 Sep 2018 22:54:33 +0200 Subject: [PATCH] attempt to fix #63 --- dependency-reduced-pom.xml | 258 ------------------ doc/MustangDev.en.odt | Bin 183403 -> 183411 bytes .../ZUGFeRD/ZUGFeRDExporter.java | 16 +- 3 files changed, 10 insertions(+), 264 deletions(-) delete mode 100644 dependency-reduced-pom.xml diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml deleted file mode 100644 index 850770ec..00000000 --- a/dependency-reduced-pom.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - 4.0.0 - org.mustangproject.ZUGFeRD - mustang - Mustang - 1.5.2 - The Mustang project is a java library to read and write ZUGFeRD meta data inside your invoice PDFs - http://www.mustangproject.org/ - - - User List - https://groups.google.com/forum/?hl=de#!forum/mustangproject - - - - - Jochen Stärk - jstaerk@usegroup.de - - architect - developer - - - - Alexander Schmidt - schmidt.alexander@mail.de - - developer - - - - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - A business-friendly OSS license - - - - scm:git:https://github.com/ZUGFeRD/mustangproject.git - scm:git:https://github.com/ZUGFeRD/mustangproject.git - mustang-1.5.2 - https://github.com/ZUGFeRD/mustangproject - - - - - - maven-release-plugin - 2.5.3 - - - - - - maven-compiler-plugin - 3.6.1 - - - - true - org.mustangproject.toecount.Toecount - - - - jar-with-dependencies - - 1.7 - 1.7 - - - - maven-deploy-plugin - 2.8.2 - - internal.repo::default::file://${project.build.directory}/mvn-repo - - - - com.github.github - site-maven-plugin - 0.12 - - - deploy - - site - - - - - Maven artifacts for ${project.version} - true - ${project.build.directory}/mvn-repo - refs/heads/mvn-repo - - **/* - - true - mustangproject - ZUGFeRD - - - - maven-shade-plugin - 2.4.3 - - - package - - shade - - - - - - - - - - - - org.mustangproject.toecount.Toecount - - - true - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - log4j:log4j - - ** - - - - commons-logging:commons-logging - - ** - - - - com.sun.xml.bind:jaxb-impl - - ** - - - - com.sun.xml.bind:jaxb-core - - ** - - - - - - - org.codehaus.mojo - templating-maven-plugin - 1.0.0 - - - filtering-java-templates - - filter-sources - - - - - - org.codehaus.mojo - jaxb2-maven-plugin - 2.3.1 - - - xjc - - xjc - - - - - 2.1 - org.mustangproject.ZUGFeRD.model - - src/main/resources/schema/ZUGFeRD1p0.xsd - - - - - - - - - - sonatype-oss-public - https://oss.sonatype.org/content/groups/public/ - - - - - junit - junit - 4.12 - test - - - hamcrest-core - org.hamcrest - - - - - com.helger - ph-schematron - 5.0.4 - test - - - ph-commons - com.helger - - - ph-xml - com.helger - - - ph-jaxb - com.helger - - - - - - - internal.repo - Temporary Staging Repository - file://${project.build.directory}/mvn-repo - - - - 1.7 - github - 1.7 - -Xdoclint:none - UTF-8 - 1.7 - - - diff --git a/doc/MustangDev.en.odt b/doc/MustangDev.en.odt index 4acb2eb2415af44614513652d8fbef07f36d64bb..0a65fcea190c93048c5df2b009ace6805c5ecffd 100644 GIT binary patch delta 10530 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 Cozd?A delta 10561 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 diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java index e83be1b8..a5ad456d 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java @@ -114,6 +114,8 @@ public class ZUGFeRDExporter implements Closeable { private boolean fileAttached = false; protected boolean attachZUGFeRDHeaders = true; + private boolean documentPrepared=false; + public ZUGFeRDExporter() { init(); } @@ -312,7 +314,7 @@ public class ZUGFeRDExporter implements Closeable { * setZUGFeRDXMLData(byte[] zugferdData) */ public void PDFattachZugferdFile(IZUGFeRDExportableTransaction trans) throws IOException { - prepareDocument(doc); + prepareDocument(); xmlProvider.generateXML(trans); String filename = getFilenameForVersion(ZFVersion); @@ -333,6 +335,9 @@ public class ZUGFeRDExporter implements Closeable { } public void export(String ZUGFeRDfilename) throws IOException { + if (!documentPrepared) { + prepareDocument(); + } if ((!fileAttached)&&(attachZUGFeRDHeaders)) { throw new IOException( "File must be attached (usually with PDFattachZugferdFile) before perfoming this operation"); @@ -530,7 +535,7 @@ public class ZUGFeRDExporter implements Closeable { return buffer.toByteArray(); } - protected void prepareDocument(PDDocument doc) throws IOException { + protected void prepareDocument() throws IOException { String fullProducer = producer + " (via mustangproject.org " + org.mustangproject.ZUGFeRD.Version.VERSION + ")"; PDDocumentCatalog cat = doc.getDocumentCatalog(); @@ -571,20 +576,19 @@ public class ZUGFeRDExporter implements Closeable { pdfaid.setPart(3); } - if (attachZUGFeRDHeaders) { - addXMP(xmp); /* + addXMP(xmp); /* * this is the only line where we do something Zugferd-specific, i.e. add PDF * metadata specifically for Zugferd, not generically for a embedded file */ - } - + try { metadata.importXMPMetadata(serializeXmpMetadata(xmp)); } catch (TransformerException e) { throw new ZUGFeRDExportException("Could not export XmpMetadata", e); } + documentPrepared=true; } /**