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");
}
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());
}
}
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());
}
}
}
Aggregations