Search in sources :

Example 6 with PdfString

use of com.itextpdf.kernel.pdf.PdfString in project i7j-pdfsweep by itext.

the class PdfCleanUpToolTest method cleanUpTest45.

@Test
public void cleanUpTest45() throws IOException, InterruptedException {
    String input = INPUT_PATH + "emptyPdf.pdf";
    String output = OUTPUT_PATH + "emptyPdf.pdf";
    String cmp = INPUT_PATH + "cmp_emptyPdf.pdf";
    PdfAnnotation redactAnnotation = new PdfRedactAnnotation(new Rectangle(97, 405, 383, 40)).setOverlayText(new PdfString("OverlayTest")).setDefaultAppearance(new PdfString("/Helv 0 Tf 0 g"));
    PdfDocument pdfDocument = new PdfDocument(new PdfReader(input), new PdfWriter(output));
    pdfDocument.getFirstPage().addAnnotation(redactAnnotation);
    PdfCleaner.cleanUpRedactAnnotations(pdfDocument);
    pdfDocument.close();
    compareByContent(cmp, output, OUTPUT_PATH, "diff_45");
}
Also used : PdfRedactAnnotation(com.itextpdf.kernel.pdf.annot.PdfRedactAnnotation) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfAnnotation(com.itextpdf.kernel.pdf.annot.PdfAnnotation) Rectangle(com.itextpdf.kernel.geom.Rectangle) PdfString(com.itextpdf.kernel.pdf.PdfString) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfString(com.itextpdf.kernel.pdf.PdfString) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) IntegrationTest(com.itextpdf.test.annotations.type.IntegrationTest) ExtendedITextTest(com.itextpdf.test.ExtendedITextTest) Test(org.junit.Test)

Example 7 with PdfString

use of com.itextpdf.kernel.pdf.PdfString in project i7j-pdfsweep by itext.

the class PdfCleanUpToolTest method cleanUpTest46.

@Test
public void cleanUpTest46() throws IOException {
    String input = INPUT_PATH + "emptyPdf.pdf";
    String output = OUTPUT_PATH + "emptyPdf.pdf";
    PdfAnnotation redactAnnotation = new PdfRedactAnnotation(new Rectangle(97, 405, 383, 40)).setOverlayText(new PdfString("OverlayTest"));
    try (PdfReader reader = new PdfReader(input);
        PdfWriter writer = new PdfWriter(output);
        PdfDocument pdfDocument = new PdfDocument(reader, writer)) {
        pdfDocument.getFirstPage().addAnnotation(redactAnnotation);
        Exception e = Assert.assertThrows(PdfException.class, () -> PdfCleaner.cleanUpRedactAnnotations(pdfDocument));
        Assert.assertEquals(CleanupExceptionMessageConstant.DEFAULT_APPEARANCE_NOT_FOUND, e.getMessage());
    }
}
Also used : PdfRedactAnnotation(com.itextpdf.kernel.pdf.annot.PdfRedactAnnotation) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfAnnotation(com.itextpdf.kernel.pdf.annot.PdfAnnotation) Rectangle(com.itextpdf.kernel.geom.Rectangle) PdfString(com.itextpdf.kernel.pdf.PdfString) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfString(com.itextpdf.kernel.pdf.PdfString) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) IOException(java.io.IOException) PdfException(com.itextpdf.kernel.exceptions.PdfException) IntegrationTest(com.itextpdf.test.annotations.type.IntegrationTest) ExtendedITextTest(com.itextpdf.test.ExtendedITextTest) Test(org.junit.Test)

Example 8 with PdfString

use of com.itextpdf.kernel.pdf.PdfString in project i7j-pdfsweep by itext.

the class PdfCleanUpTool method removeRedactAnnots.

/**
 * Remove the redaction annotations.
 * This method is called after the annotations are processed.
 *
 * @throws IOException
 */
private void removeRedactAnnots() throws IOException {
    for (PdfRedactAnnotation annotation : redactAnnotations.keySet()) {
        PdfPage page = annotation.getPage();
        if (page != null) {
            page.removeAnnotation(annotation);
            PdfPopupAnnotation popup = annotation.getPopup();
            if (popup != null) {
                page.removeAnnotation(popup);
            }
        }
        PdfCanvas canvas = new PdfCanvas(page);
        PdfStream redactRolloverAppearance = annotation.getRedactRolloverAppearance();
        PdfString overlayText = annotation.getOverlayText();
        Rectangle annotRect = annotation.getRectangle().toRectangle();
        if (redactRolloverAppearance != null) {
            drawRolloverAppearance(canvas, redactRolloverAppearance, annotRect, redactAnnotations.get(annotation));
        } else if (overlayText != null && !overlayText.toUnicodeString().isEmpty()) {
            drawOverlayText(canvas, overlayText.toUnicodeString(), annotRect, annotation.getRepeat(), annotation.getDefaultAppearance(), annotation.getJustification());
        }
    }
}
Also used : PdfRedactAnnotation(com.itextpdf.kernel.pdf.annot.PdfRedactAnnotation) PdfPopupAnnotation(com.itextpdf.kernel.pdf.annot.PdfPopupAnnotation) Rectangle(com.itextpdf.kernel.geom.Rectangle) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) PdfPage(com.itextpdf.kernel.pdf.PdfPage) PdfStream(com.itextpdf.kernel.pdf.PdfStream) PdfString(com.itextpdf.kernel.pdf.PdfString)

Aggregations

PdfString (com.itextpdf.kernel.pdf.PdfString)8 PdfRedactAnnotation (com.itextpdf.kernel.pdf.annot.PdfRedactAnnotation)4 Rectangle (com.itextpdf.kernel.geom.Rectangle)3 PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)3 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)3 PdfAnnotation (com.itextpdf.kernel.pdf.annot.PdfAnnotation)3 ArrayList (java.util.ArrayList)3 PdfException (com.itextpdf.kernel.exceptions.PdfException)2 PdfFont (com.itextpdf.kernel.font.PdfFont)2 PdfName (com.itextpdf.kernel.pdf.PdfName)2 PdfPage (com.itextpdf.kernel.pdf.PdfPage)2 PdfReader (com.itextpdf.kernel.pdf.PdfReader)2 PdfCanvas (com.itextpdf.kernel.pdf.canvas.PdfCanvas)2 Paragraph (com.itextpdf.layout.element.Paragraph)2 ExtendedITextTest (com.itextpdf.test.ExtendedITextTest)2 IntegrationTest (com.itextpdf.test.annotations.type.IntegrationTest)2 List (java.util.List)2 Test (org.junit.Test)2 PdfTokenizer (com.itextpdf.io.source.PdfTokenizer)1 RandomAccessFileOrArray (com.itextpdf.io.source.RandomAccessFileOrArray)1