ich die PDF programmatisch erstellen, das Dokument Ausrichtung wie diese Einstellung:itext pdf Felder sind nicht in der Dokumentenausrichtung gefüllt
public Document createStableFordPDF(Context ctx){
Document document = new Document(PageSize.A4.rotate());
try {
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream(ctx.getExternalCacheDir().getAbsolutePath()+"/StableFord.pdf"));
document.open();
...
Das erstellte Dokument sieht gut aus:
Und wenn ich versuche, füllen sie die leeren Felder, erscheint sie in der falschen Ausrichtung
public void fillStablefordPDF(Context ctx) {
OutputStream output = null;
try {
output = new FileOutputStream(ctx.getExternalCacheDir().getAbsolutePath() + "/StableFord_filled.pdf");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
PdfReader reader = new PdfReader(new FileInputStream(ctx.getExternalCacheDir().getAbsolutePath() + "/StableFord.pdf"));
PdfStamper stamper = new PdfStamper(reader, output);
AcroFields acroFields = stamper.getAcroFields();
...
acroFields.setField("Name", "TOM");
Was muss ich tun, um diese Felder mit der richtigen Ausrichtung zu füllen?
Sie müssen Rotationswerte auf die Felder hinzuzufügen: Ihre ausgefüllte pdf ist Ausgabe wie erwartet für die Konstruktionsargumente, ich werde sehen, ob ich ein Beispiel ausgraben kann –
Alternativ einfach 'PageSize.A4.rotate()' durch 'new RectangleReadOnly (842,595)' ersetzen. – mkl