aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-pdfbox-3/src/test
diff options
context:
space:
mode:
authorJakob Heher <jakob.heher@iaik.tugraz.at>2026-06-22 12:49:56 +0200
committerJakob Heher <jakob.heher@iaik.tugraz.at>2026-06-22 12:49:56 +0200
commit2f209e01da276e9862d6e0f63d02bcfb14728d9b (patch)
tree721c3f63ad91c0b43a836753d3669c43dbd13fd0 /pdf-as-pdfbox-3/src/test
parentec1a6a0f04af82a1797a02316b5260d687c562fc (diff)
downloadpdf-as-4-2f209e01da276e9862d6e0f63d02bcfb14728d9b.tar.gz
pdf-as-4-2f209e01da276e9862d6e0f63d02bcfb14728d9b.tar.bz2
pdf-as-4-2f209e01da276e9862d6e0f63d02bcfb14728d9b.zip
fix placeholder parsing for pdfbox 3 (and test cases)
Diffstat (limited to 'pdf-as-pdfbox-3/src/test')
-rw-r--r--pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt (renamed from pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt)0
-rw-r--r--pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java (renamed from pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java)0
-rw-r--r--pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java (renamed from pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java)110
-rw-r--r--pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt (renamed from pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt)0
-rw-r--r--pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/TTFFontTest.java46
5 files changed, 52 insertions, 104 deletions
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt b/pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt
index 500b15ed..500b15ed 100644
--- a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt
+++ b/pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/pdfbox3/SignVerifyTest.kt
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java b/pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java
index e766c385..e766c385 100644
--- a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java
+++ b/pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/PDFBoxPlaceholderExtractorTest.java
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java b/pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java
index e1a7f09b..bdf5b760 100644
--- a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java
+++ b/pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/SignatureFieldsAndPlaceHolderExtractorTest.java
@@ -5,13 +5,15 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import org.apache.pdfbox.pdmodel.PDDocument;
+import at.gv.egiz.pdfas.lib.impl.pdfbox3.PDFBoxPlaceholderExtractor;
+import lombok.SneakyThrows;
+import lombok.val;
+import org.apache.pdfbox.Loader;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
-import at.gv.egiz.pdfas.lib.impl.pdfbox2.placeholder.SignatureFieldsAndPlaceHolderExtractor;
import at.gv.egiz.pdfas.lib.impl.placeholder.SignaturePlaceholderData;
@RunWith(JUnit4.class)
@@ -27,156 +29,148 @@ public class SignatureFieldsAndPlaceHolderExtractorTest {
}
@Test
- public void notSigned(){
+ public void notSigned() {
SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
- Assert.assertEquals("Image5",result.getPlaceholderName());
+ Assert.assertEquals("Image5", result.getPlaceholderName());
}
+
@Test
- public void signedOnce(){
+ public void signedOnce() {
SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed.pdf"));
- Assert.assertEquals("Image8",result.getPlaceholderName());
+ Assert.assertEquals("Image8", result.getPlaceholderName());
}
+
@Test
- public void signedTwice(){
+ public void signedTwice() {
SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed_signed.pdf"));
- Assert.assertEquals(null,result);
+ Assert.assertEquals(null, result);
}
+
@Test
- public void signedThrice(){
+ public void signedThrice() {
SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed_signed_signed.pdf"));
- Assert.assertEquals(null,result);
+ Assert.assertEquals(null, result);
}
@Test
- public void noPlaceHolder(){
+ public void noPlaceHolder() {
SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("manySignFields.pdf"));
- Assert.assertEquals(null,result);
+ Assert.assertEquals(null, result);
}
-
+
@Test
public void firstQrCodeOnUnsignedDoc() {
SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
- Assert.assertEquals("Image5",result.getPlaceholderName());
-
+ Assert.assertEquals("Image5", result.getPlaceholderName());
+
}
-
+
@Test
- public void subsequentCalls(){
+ public void subsequentCalls() {
SignaturePlaceholderData result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed_signed_signed.pdf"));
- Assert.assertEquals(null,result);
+ Assert.assertEquals(null, result);
result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed.pdf"));
- Assert.assertEquals("Image8",result.getPlaceholderName());
+ Assert.assertEquals("Image8", result.getPlaceholderName());
result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
- Assert.assertEquals("Image5",result.getPlaceholderName());
+ Assert.assertEquals("Image5", result.getPlaceholderName());
result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
- Assert.assertEquals("Image5",result.getPlaceholderName());
+ Assert.assertEquals("Image5", result.getPlaceholderName());
result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
- Assert.assertEquals("Image5",result.getPlaceholderName());
+ Assert.assertEquals("Image5", result.getPlaceholderName());
result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed.pdf"));
- Assert.assertEquals("Image8",result.getPlaceholderName());
+ Assert.assertEquals("Image8", result.getPlaceholderName());
result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed_signed_signed.pdf"));
- Assert.assertEquals(null,result);
+ Assert.assertEquals(null, result);
result = getNextSignaturePlaceHolder(getPath("new_qr_2-2.pdf"));
- Assert.assertEquals("Image5",result.getPlaceholderName());
+ Assert.assertEquals("Image5", result.getPlaceholderName());
result = getNextSignaturePlaceHolder(getPath("new_qr_2_signed.pdf"));
- Assert.assertEquals("Image8",result.getPlaceholderName());
+ Assert.assertEquals("Image8", result.getPlaceholderName());
}
+
@Test
- public void notSignedAndNoFields(){
+ public void notSignedAndNoFields() {
List<String> result = getPlaceHolders(getPath("new_qr_2-2.pdf"));
List<String> expectedResult = new ArrayList<>();
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
}
@Test
- public void notSignedFields(){
+ public void notSignedFields() {
List<String> result = getPlaceHolders(getPath("manySignFields.pdf"));
List<String> expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
"Signature_4", "Signature_5", "Signature_6", "Signature_7");
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
}
@Test
- public void signedOncePosition4FieldTest(){
+ public void signedOncePosition4FieldTest() {
List<String> result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
List<String> expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
"Signature_5", "Signature_6", "Signature_7");
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
}
@Test
- public void multipleCallsFieldTest(){
+ public void multipleCallsFieldTest() {
List<String> result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
List<String> expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
"Signature_5", "Signature_6", "Signature_7");
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
"Signature_5", "Signature_6", "Signature_7");
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
result = getPlaceHolders(getPath("manySignFields.pdf"));
expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
"Signature_4", "Signature_5", "Signature_6", "Signature_7");
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
result = getPlaceHolders(getPath("manySignFields.pdf"));
expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
"Signature_4", "Signature_5", "Signature_6", "Signature_7");
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
"Signature_5", "Signature_6", "Signature_7");
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
result = getPlaceHolders(getPath("manySignFields_signed4.pdf"));
expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
"Signature_5", "Signature_6", "Signature_7");
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
result = getPlaceHolders(getPath("manySignFields.pdf"));
expectedResult = Arrays.asList("Signature_0", "Signature_1", "Signature_2", "Signature_3",
"Signature_4", "Signature_5", "Signature_6", "Signature_7");
- Assert.assertEquals(expectedResult,result);
+ Assert.assertEquals(expectedResult, result);
}
+ @SneakyThrows
private static List<String> getPlaceHolders(String filePath) {
- try {
- PDDocument doc = PDDocument.load(new File(filePath));
- List<String> results = SignatureFieldsAndPlaceHolderExtractor.findEmptySignatureFields(doc);
-// System.out.println(filePath + ": " + result);
- return results;
- } catch (Throwable e) {
- e.printStackTrace();
+ try (val doc = Loader.loadPDF(new File(filePath))) {
+ return PDFBoxPlaceholderExtractor.findEmptySignatureFields(doc);
}
- return null;
}
+ @SneakyThrows
public static SignaturePlaceholderData getNextSignaturePlaceHolder(String filePath) {
- try {
- PDDocument doc = PDDocument.load(new File(filePath));
- SignaturePlaceholderData result =
- SignatureFieldsAndPlaceHolderExtractor.getNextUnusedSignaturePlaceHolder(doc);
-// System.out.println(filePath + ": " + result);
- return result;
- } catch (Throwable e) {
- e.printStackTrace();
+ try (val doc = Loader.loadPDF(new File(filePath))) {
+ return PDFBoxPlaceholderExtractor.getNextUnusedSignaturePlaceholder(doc);
}
- return null;
}
-
}
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt b/pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt
index 847018c4..847018c4 100644
--- a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt
+++ b/pdf-as-pdfbox-3/src/test/java/at/gv/egiz/pdfas/lib/impl/verify/pdfbox3/PDFBox2To3Test.kt
diff --git a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/TTFFontTest.java b/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/TTFFontTest.java
deleted file mode 100644
index ce395785..00000000
--- a/pdf-as-pdfbox-3/src/test/kotlin/at/gv/egiz/pdfas/lib/impl/sign/pdfbox3/TTFFontTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package at.gv.egiz.pdfas.lib.impl.sign.pdfbox3;
-
-import java.io.File;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.cos.COSDictionary;
-import org.apache.pdfbox.cos.COSName;
-import org.apache.pdfbox.cos.COSObject;
-import org.apache.pdfbox.pdmodel.PDDocument;
-
-public class TTFFontTest {
-
- public static void main(String[] args) {
- try {
- PDDocument doc = PDDocument.load(new File("/home/afitzek/Downloads/pdf_groesse/willenserklaerung_signedByUser.pdf"));
-
- List<COSObject> cosObjects = doc.getDocument().getObjectsByType(COSName.FONT);
-
- Iterator<COSObject> cosObjectIt = cosObjects.iterator();
-
- while(cosObjectIt.hasNext()) {
- COSObject cosObject = cosObjectIt.next();
- COSBase subType = ((COSDictionary)cosObject.getObject()).getItem(COSName.SUBTYPE);
- COSBase baseFont = ((COSDictionary)cosObject.getObject()).getItem(COSName.BASE_FONT);
- COSBase aTest = ((COSDictionary)cosObject.getObject()).getItem(COSName.A);
-
- System.out.println(aTest);
-
- if(subType.equals(COSName.TRUE_TYPE)) {
- System.out.println("Object Number: " + cosObject.getObjectNumber() +
- subType.toString());
- System.out.println(" BaseFont: " + baseFont.toString());
- }
-
-
- }
-
-
- } catch(Throwable e) {
- e.printStackTrace();
- }
- }
-
-}