Java cmdline application developped in eclipse using existing opensource libraries
- or -
Post a project like this2569
$150
- Posted:
- Proposals: 4
- Remote
- #1506038
- PRE-FUNDED
- Awarded
Description
Experience Level: Intermediate
General information for the business: Interfaces between paper and systems
Description of requirements/functionality: A java cmdline application (no GUI) that creates, based on input (PDF/A file and several string arguments) an output (PDF/A-3 which contains embedded XML). For the sake of this description, we call the application "pre-convert".
The job consists of creating a working "pre-convert" application and delivery of the full eclipse IDE (currently neon.2) project with proper inline documentation so that our programmer can enhance, correct, develop further on the base you deliver. The application "pre-convert" is most likely a very simple application, especially due to the fact that the code seems almost complete in the MustangWriter.java example (see below). But we need the complete programming environment and documentation on how to use it. Proper test classes are added to the project as well (see JUnit Tests).
The project should allow to later add additional classes for other output variants instead of ZUGFeRD. Examples are another type of XML or a specific text format that is unique to a European financial booking application. However, the coding of those additional classes and output formats is not part of this job. This might be an add-on later.
Existing open source libraries are available for creation of the special XML file and the merging into the PDF/A-3 file. This output format is called ZUGFeRD (Basic profile) and is a standard to for electronic invoicing. In short, it represents an invoice in PDF/A3 format which in turn contains an embedded XML file. The PDF/A-3 file shows the visual representation of the invoice, while the embedded XML file contains the data elements of the invoice in a structured way.
Existing open source libraries:
- Mustangproject library on GitHub: https://github.com/jstaerk/mustangproject/tree/master/mustang
- There is an example on GitHub which implements almost all major code that is needed. See https://github.com/jstaerk/mustangproject/blob/master/mustang/doc/MustangWriter.java.
- The following mustangproject document describes which additional libraries (i.e. PDFBox, PrefLight, XMPBox) need to be imported/added and how: https://github.com/jstaerk/mustangproject/blob/master/mustang/doc/ZugferdDev.en.pdf
- The main website of the project is http://www.mustangproject.org
Context of "pre-convert"
The application "pre-convert" will be called from our tool "PRE" which provides the PDF/A file and some extracted data (OCR) from this file as arguments. The output (a ZUGFeRD file) will be imported into compatible accounting systems.
Input:
- PDF/A document (file)
- about 14 string arguments
- Examples of arguments:
PaymentReference=RE-20151008/504 (see getNumber())
ID=08.10.2015 (see getIssueDate())
Name=Theodor Est (see getName())
Street=Bahnstr. 42 (see getStreet())
PostcodeCode=88802 (see getZIP())
Etc.
- Possible example of call (not complete number of arguments):
pre-convert -Z -if=path-to\input.pdf -of=path-to\outputa3.pdf ^
PaymentReference="RE-20151008/504" ID=08.10.2015 Name="Theodor Est" ^
Street="Bahnstr. 42" PostcodeCode=88802 ……
- Optional (perhaps in an add-on project): the arguments are in a defined format in a text file, one line per argument
Actions of application:
- Collect input (PDF/A and arguments)
- Create XML file with content collected as arguments with the help of library
- Merge XML and PDF with the help of library
Output:
- PDF/A-3 file which embeds the ZUGFeRD XML file
Attached to this job is an example of a PDF/A-3 file and the XML file which is embedded into it.
Specific technologies required: eclipse IDE
OS requirements: Windows
Extra notes: Additional, optional information:
ZUGFeRD specifications. This information is optional, since all relevant content is already explained in the Mustangproject.
- https://konik.io/ZUGFeRD-Spezifikation/ZUGFeRD-Format_1p0_Specification-english.pdf
- https://konik.io/ZUGFeRD-Spezifikation/ZUGFeRD_1p0_Technical_Documentation.pdf
Description of requirements/functionality: A java cmdline application (no GUI) that creates, based on input (PDF/A file and several string arguments) an output (PDF/A-3 which contains embedded XML). For the sake of this description, we call the application "pre-convert".
The job consists of creating a working "pre-convert" application and delivery of the full eclipse IDE (currently neon.2) project with proper inline documentation so that our programmer can enhance, correct, develop further on the base you deliver. The application "pre-convert" is most likely a very simple application, especially due to the fact that the code seems almost complete in the MustangWriter.java example (see below). But we need the complete programming environment and documentation on how to use it. Proper test classes are added to the project as well (see JUnit Tests).
The project should allow to later add additional classes for other output variants instead of ZUGFeRD. Examples are another type of XML or a specific text format that is unique to a European financial booking application. However, the coding of those additional classes and output formats is not part of this job. This might be an add-on later.
Existing open source libraries are available for creation of the special XML file and the merging into the PDF/A-3 file. This output format is called ZUGFeRD (Basic profile) and is a standard to for electronic invoicing. In short, it represents an invoice in PDF/A3 format which in turn contains an embedded XML file. The PDF/A-3 file shows the visual representation of the invoice, while the embedded XML file contains the data elements of the invoice in a structured way.
Existing open source libraries:
- Mustangproject library on GitHub: https://github.com/jstaerk/mustangproject/tree/master/mustang
- There is an example on GitHub which implements almost all major code that is needed. See https://github.com/jstaerk/mustangproject/blob/master/mustang/doc/MustangWriter.java.
- The following mustangproject document describes which additional libraries (i.e. PDFBox, PrefLight, XMPBox) need to be imported/added and how: https://github.com/jstaerk/mustangproject/blob/master/mustang/doc/ZugferdDev.en.pdf
- The main website of the project is http://www.mustangproject.org
Context of "pre-convert"
The application "pre-convert" will be called from our tool "PRE" which provides the PDF/A file and some extracted data (OCR) from this file as arguments. The output (a ZUGFeRD file) will be imported into compatible accounting systems.
Input:
- PDF/A document (file)
- about 14 string arguments
- Examples of arguments:
PaymentReference=RE-20151008/504 (see getNumber())
ID=08.10.2015 (see getIssueDate())
Name=Theodor Est (see getName())
Street=Bahnstr. 42 (see getStreet())
PostcodeCode=88802 (see getZIP())
Etc.
- Possible example of call (not complete number of arguments):
pre-convert -Z -if=path-to\input.pdf -of=path-to\outputa3.pdf ^
PaymentReference="RE-20151008/504" ID=08.10.2015 Name="Theodor Est" ^
Street="Bahnstr. 42" PostcodeCode=88802 ……
- Optional (perhaps in an add-on project): the arguments are in a defined format in a text file, one line per argument
Actions of application:
- Collect input (PDF/A and arguments)
- Create XML file with content collected as arguments with the help of library
- Merge XML and PDF with the help of library
Output:
- PDF/A-3 file which embeds the ZUGFeRD XML file
Attached to this job is an example of a PDF/A-3 file and the XML file which is embedded into it.
Specific technologies required: eclipse IDE
OS requirements: Windows
Extra notes: Additional, optional information:
ZUGFeRD specifications. This information is optional, since all relevant content is already explained in the Mustangproject.
- https://konik.io/ZUGFeRD-Spezifikation/ZUGFeRD-Format_1p0_Specification-english.pdf
- https://konik.io/ZUGFeRD-Spezifikation/ZUGFeRD_1p0_Technical_Documentation.pdf
Daniel H.
0% (0)Projects Completed
1
Freelancers worked with
1
Projects awarded
50%
Last project
3 Apr 2017
Switzerland
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies