removed pdfa3-sample submodule, made mustang main (and only) module, corrected the POM, released 1.4.0 via maven, updated the developer documentation, updated toecount to 0.0.9 to use mustang 1.4.0 via maven repo
This commit is contained in:
BIN
doc/MustangDev.en.odt
Normal file
BIN
doc/MustangDev.en.odt
Normal file
Binary file not shown.
277
doc/MustangWriter.java
Normal file
277
doc/MustangWriter.java
Normal file
@@ -0,0 +1,277 @@
|
||||
package zugferd;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Calendar;
|
||||
|
||||
import javax.xml.transform.TransformerException;
|
||||
|
||||
import org.apache.pdfbox.exceptions.COSVisitorException;
|
||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||
import org.mustangproject.ZUGFeRD.IZUGFeRDExportableContact;
|
||||
import org.mustangproject.ZUGFeRD.IZUGFeRDExportableItem;
|
||||
import org.mustangproject.ZUGFeRD.IZUGFeRDExportableProduct;
|
||||
import org.mustangproject.ZUGFeRD.IZUGFeRDExportableTransaction;
|
||||
import org.mustangproject.ZUGFeRD.ZUGFeRDExporter;
|
||||
|
||||
class Contact implements IZUGFeRDExportableContact {
|
||||
|
||||
@Override
|
||||
public String getCountry() {
|
||||
return "DE";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLocation() {
|
||||
return "Spielkreis";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "Theodor Est";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStreet() {
|
||||
return "Bahnstr. 42";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getVATID() {
|
||||
return "DE999999999";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getZIP() {
|
||||
return "88802";
|
||||
}
|
||||
}
|
||||
|
||||
class Item implements IZUGFeRDExportableItem {
|
||||
private BigDecimal price, quantity;
|
||||
|
||||
public Item(BigDecimal price, BigDecimal quantity, Product product) {
|
||||
super();
|
||||
this.price = price;
|
||||
this.quantity = quantity;
|
||||
this.product = product;
|
||||
}
|
||||
|
||||
private Product product;
|
||||
|
||||
public BigDecimal getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(BigDecimal price) {
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(BigDecimal quantity) {
|
||||
this.quantity = quantity;
|
||||
}
|
||||
|
||||
public Product getProduct() {
|
||||
return product;
|
||||
}
|
||||
|
||||
public void setProduct(Product product) {
|
||||
this.product = product;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Product implements IZUGFeRDExportableProduct {
|
||||
private String description, name, unit;
|
||||
|
||||
public Product(String description, String name, String unit,
|
||||
BigDecimal VATPercent) {
|
||||
super();
|
||||
this.description = description;
|
||||
this.name = name;
|
||||
this.unit = unit;
|
||||
this.VATPercent = VATPercent;
|
||||
}
|
||||
|
||||
private BigDecimal VATPercent;
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnit() {
|
||||
return unit;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal getVATPercent() {
|
||||
return VATPercent;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void setUnit(String unit) {
|
||||
this.unit = unit;
|
||||
}
|
||||
|
||||
public void setVATPercent(BigDecimal vATPercent) {
|
||||
VATPercent = vATPercent;
|
||||
}
|
||||
}
|
||||
|
||||
public class MustangWriter implements IZUGFeRDExportableTransaction {
|
||||
|
||||
public static void main(String[] args) {
|
||||
MustangWriter w=new MustangWriter();
|
||||
w.apply();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getDeliveryDate() {
|
||||
return new GregorianCalendar(2017, Calendar.MAY, 7).getTime();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getDueDate() {
|
||||
return new GregorianCalendar(2017, Calendar.MAY, 30).getTime();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getIssueDate() {
|
||||
return new GregorianCalendar(2017, Calendar.MAY, 9).getTime();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNumber() {
|
||||
return "RE-20170509/505";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnBIC() {
|
||||
return "COBADEFFXXX";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnBankName() {
|
||||
return "Commerzbank";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnCountry() {
|
||||
return "DE";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnIBAN() {
|
||||
return "DE88 2008 0000 0970 3757 00";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnLocation() {
|
||||
return "Stadthausen";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnOrganisationName() {
|
||||
return "Bei Spiel GmbH";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnStreet() {
|
||||
return "Ecke 12";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnTaxID() {
|
||||
return "22/815/0815/4";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnVATID() {
|
||||
return "DE136695976";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnZIP() {
|
||||
return "12345";
|
||||
}
|
||||
|
||||
@Override
|
||||
public IZUGFeRDExportableContact getRecipient() {
|
||||
return new Contact();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IZUGFeRDExportableItem[] getZFItems() {
|
||||
Item[] allItems = new Item[3];
|
||||
Product designProduct = new Product("",
|
||||
"Künstlerische Gestaltung (Stunde)", "HUR", new BigDecimal(
|
||||
"7.000000"));
|
||||
Product balloonProduct = new Product("", "Luftballon", "C62",
|
||||
new BigDecimal("19.000000"));
|
||||
Product airProduct = new Product("", "Heiße Luft pro Liter", "LTR",
|
||||
new BigDecimal("19.000000"));
|
||||
allItems[0] = new Item(new BigDecimal("160"),
|
||||
new BigDecimal("1"), designProduct);
|
||||
allItems[1] = new Item(new BigDecimal("0.79"),
|
||||
new BigDecimal("400"), balloonProduct);
|
||||
allItems[2] = new Item(new BigDecimal("0.10"),
|
||||
new BigDecimal("200"), airProduct);
|
||||
return allItems;
|
||||
}
|
||||
|
||||
private void apply() {
|
||||
PDDocument doc;
|
||||
try {
|
||||
System.out.println("Reading blank PDF");
|
||||
doc = PDDocument
|
||||
.load("/Users/jstaerk/workspace/zugferd/MustangGnuaccountingBeispielRE-20170509_505blanko.pdf");
|
||||
ZUGFeRDExporter ze = new ZUGFeRDExporter();
|
||||
System.out.println("Converting to PDF/A-3u");
|
||||
ze.PDFmakeA3compliant(doc, "Mustangproject",
|
||||
System.getProperty("user.name"), true);
|
||||
System.out.println("Generating and attaching ZUGFeRD-Data");
|
||||
ze.setTest();
|
||||
ze.PDFattachZugferdFile(doc, this);
|
||||
System.out.println("Writing ZUGFeRD-PDF");
|
||||
|
||||
doc.save("/Users/jstaerk/workspace/zugferd/MustangGnuaccountingBeispielRE-20170509_505.pdf");
|
||||
System.out.println("Done.");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} catch (TransformerException e) {
|
||||
e.printStackTrace();
|
||||
} catch (COSVisitorException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwnOrganisationFullPlaintextInfo() {
|
||||
return "Bei Spiel GmbH\n"
|
||||
+ "Ecke 12\n"
|
||||
+ "12345 Stadthausen\n"
|
||||
+ "Geschäftsführer: Max Mustermann";
|
||||
}
|
||||
|
||||
}
|
||||
BIN
doc/ZugferdDev.de.odt
Normal file
BIN
doc/ZugferdDev.de.odt
Normal file
Binary file not shown.
BIN
doc/ZugferdDev.de.pdf
Normal file
BIN
doc/ZugferdDev.de.pdf
Normal file
Binary file not shown.
BIN
doc/ZugferdDev.en.odt
Normal file
BIN
doc/ZugferdDev.en.odt
Normal file
Binary file not shown.
BIN
doc/ZugferdDev.en.pdf
Normal file
BIN
doc/ZugferdDev.en.pdf
Normal file
Binary file not shown.
BIN
doc/konikmustangvergleich.odt
Normal file
BIN
doc/konikmustangvergleich.odt
Normal file
Binary file not shown.
Reference in New Issue
Block a user