aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PdfBoxStamper.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PdfBoxStamper.java')
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PdfBoxStamper.java106
1 files changed, 3 insertions, 103 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PdfBoxStamper.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PdfBoxStamper.java
index 559c8c9b..1bd4fed5 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PdfBoxStamper.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PdfBoxStamper.java
@@ -1,13 +1,9 @@
package at.gv.egiz.pdfas.lib.impl.stamping.pdfbox;
-import java.io.InputStream;
+import java.io.IOException;
-import org.apache.pdfbox.pdmodel.PDPage;
-import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible.PDFTemplateBuilder;
-import org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible.PDFTemplateStructure;
import org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible.PDVisibleSigBuilder;
-import org.apache.pdfbox.pdmodel.interactive.digitalsignature.visible.PDVisibleSignDesigner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,109 +25,13 @@ public class PdfBoxStamper implements IPDFStamper {
this.pdfBuilder = new PDVisibleSigBuilder();
}
- /*
- private InputStream renderTable(Table abstractTable) throws PdfAsException
- {
- logger.info("pdf building has been started");
- PDFTemplateStructure pdfStructure = pdfBuilder.getStructure();
- //pdfStructure.setIm
- // we create array of [Text, ImageB, ImageC, ImageI]
- this.pdfBuilder.createProcSetArray();
-
- //create page
- this.pdfBuilder.createPage(properties);
- PDPage page = pdfStructure.getPage();
-
- //create template
- this.pdfBuilder.createTemplate(page);
- PDDocument template = pdfStructure.getTemplate();
-
- //create /AcroForm
- this.pdfBuilder.createAcroForm(template);
- PDAcroForm acroForm = pdfStructure.getAcroForm();
-
- // AcroForm contains singature fields
- this.pdfBuilder.createSignatureField(acroForm);
- PDSignatureField pdSignatureField = pdfStructure.getSignatureField();
-
- // create signature
- this.pdfBuilder.createSignature(pdSignatureField, page, properties.getSignatureFieldName());
-
- // that is /AcroForm/DR entry
- this.pdfBuilder.createAcroFormDictionary(acroForm, pdSignatureField);
-
- // create AffineTransform
- this.pdfBuilder.createAffineTransform(properties.getAffineTransformParams());
- AffineTransform transform = pdfStructure.getAffineTransform();
-
- // rectangle, formatter, image. /AcroForm/DR/XObject contains that form
- this.pdfBuilder.createSignatureRectangle(pdSignatureField, properties);
- this.pdfBuilder.createFormaterRectangle(properties.getFormaterRectangleParams());
- PDRectangle formater = pdfStructure.getFormaterRectangle();
- this.pdfBuilder.createSignatureImage(template, properties.getImage());
-
- // create form stream, form and resource.
- this.pdfBuilder.createHolderFormStream(template);
- PDStream holderFormStream = pdfStructure.getHolderFormStream();
- this.pdfBuilder.createHolderFormResources();
- PDResources holderFormResources = pdfStructure.getHolderFormResources();
- this.pdfBuilder.createHolderForm(holderFormResources, holderFormStream, formater);
-
- // that is /AP entry the appearance dictionary.
- this.pdfBuilder.createAppearanceDictionary(pdfStructure.getHolderForm(), pdSignatureField);
-
- // inner formstream, form and resource (hlder form containts inner form)
- this.pdfBuilder.createInnerFormStream(template);
- this.pdfBuilder.createInnerFormResource();
- PDResources innerFormResource = pdfStructure.getInnerFormResources();
- this.pdfBuilder.createInnerForm(innerFormResource, pdfStructure.getInnterFormStream(), formater);
- PDFormXObject innerForm = pdfStructure.getInnerForm();
-
- // inner form must be in the holder form as we wrote
- this.pdfBuilder.insertInnerFormToHolerResources(innerForm, holderFormResources);
-
- // Image form is in this structure: /AcroForm/DR/FRM0/Resources/XObject/n0
- this.pdfBuilder.createImageFormStream(template);
- PDStream imageFormStream = pdfStructure.getImageFormStream();
- this.pdfBuilder.createImageFormResources();
- PDResources imageFormResources = pdfStructure.getImageFormResources();
- this.pdfBuilder.createImageForm(imageFormResources, innerFormResource, imageFormStream, formater, transform,
- pdfStructure.getImage());
-
- // now inject procSetArray
- this.pdfBuilder.injectProcSetArray(innerForm, page, innerFormResource, imageFormResources, holderFormResources,
- pdfStructure.getProcSet());
-
- String imgFormName = pdfStructure.getImageFormName();
- String imgName = pdfStructure.getImageName();
- String innerFormName = pdfStructure.getInnerFormName();
-
- // now create Streams of AP
- this.pdfBuilder.injectAppearanceStreams(holderFormStream, imageFormStream, imageFormStream, imgFormName,
- imgName, innerFormName, properties);
- this.pdfBuilder.createVisualSignature(template);
- this.pdfBuilder.createWidgetDictionary(pdSignatureField, holderFormResources);
-
- ByteArrayInputStream in = pdfStructure.getTemplateAppearanceStream();
- logger.info("stream returning started, size= " + in.available());
-
- // we must close the document
- template.close();
-
- // return result of the stream
- return in;
- }
- */
-
- public IPDFVisualObject createVisualPDFObject(PDFObject pdf, Table table) {
-
- return null;
+ public IPDFVisualObject createVisualPDFObject(PDFObject pdf, Table table) throws IOException {
+ return new PdfBoxVisualObject(table, pdf.getStatus().getSettings());
}
public byte[] writeVisualObject(IPDFVisualObject visualObject,
PositioningInstruction positioningInstruction, byte[] pdfData,
String placeholderName) throws PdfAsException {
- // TODO Auto-generated method stub
return null;
}