use of com.itextpdf.kernel.pdf.PdfReader in project i7j-pdfsweep by itext.
the class MaskedImagesTest method imageTransparencyTextOnTransparentField.
@Test
public void imageTransparencyTextOnTransparentField() throws IOException, InterruptedException {
String fileName = "textOnTransparentField";
String input = inputPath + fileName + ".pdf";
String output = outputPath + fileName + "_cleaned.pdf";
String cmp = inputPath + "cmp_" + fileName + ".pdf";
List<PdfCleanUpLocation> cleanUpLocations = Collections.singletonList(new PdfCleanUpLocation(1, new Rectangle(280, 360, 200, 75)));
PdfDocument pdfDocument = new PdfDocument(new PdfReader(input), new PdfWriter(output));
PdfCleaner.cleanUp(pdfDocument, cleanUpLocations);
new PdfCanvas(pdfDocument.getFirstPage().newContentStreamBefore(), pdfDocument.getFirstPage().getResources(), pdfDocument).setColor(ColorConstants.LIGHT_GRAY, true).rectangle(0, 0, 1000, 1000).fill().setColor(ColorConstants.BLACK, true);
pdfDocument.close();
Assert.assertNull(new CompareTool().compareByContent(output, cmp, outputPath));
}
use of com.itextpdf.kernel.pdf.PdfReader in project i7j-pdfsweep by itext.
the class MaskedImagesTest method runTest.
private static void runTest(String fileName, String fuzzValue) throws IOException, InterruptedException {
String input = inputPath + fileName + ".pdf";
String output = outputPath + fileName + "_cleaned.pdf";
String cmp = inputPath + "cmp_" + fileName + ".pdf";
List<PdfCleanUpLocation> cleanUpLocations = Collections.singletonList(new PdfCleanUpLocation(1, new Rectangle(308, 520, 200, 75)));
PdfDocument pdfDocument = new PdfDocument(new PdfReader(input), new PdfWriter(output));
PdfCleaner.cleanUp(pdfDocument, cleanUpLocations);
pdfDocument.close();
CleanUpImagesCompareTool cmpTool = new CleanUpImagesCompareTool();
String errorMessage = cmpTool.extractAndCompareImages(output, cmp, outputPath, fuzzValue);
String compareByContentResult = cmpTool.compareByContent(output, cmp, outputPath);
if (compareByContentResult != null) {
errorMessage += compareByContentResult;
}
if (!errorMessage.equals("")) {
Assert.fail(errorMessage);
}
}
use of com.itextpdf.kernel.pdf.PdfReader in project i7j-pdfsweep by itext.
the class PdfCleanUpToolTest method redactLipsum.
@Test
public void redactLipsum() throws IOException, InterruptedException {
String input = INPUT_PATH + "Lipsum.pdf";
String output = OUTPUT_PATH + "cleanUpDocument.pdf";
String cmp = INPUT_PATH + "cmp_cleanUpDocument.pdf";
CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
strategy.add(new RegexBasedCleanupStrategy("(D|d)olor").setRedactionColor(ColorConstants.GREEN));
PdfWriter writer = new PdfWriter(output);
writer.setCompressionLevel(0);
PdfDocument pdf = new PdfDocument(new PdfReader(input), writer);
// sweep
PdfCleaner.autoSweepCleanUp(pdf, strategy);
pdf.close();
// compare
compareByContent(cmp, output, OUTPUT_PATH, "diff_cleanUpDocument_");
}
use of com.itextpdf.kernel.pdf.PdfReader in project i7j-pdfsweep by itext.
the class PdfCleanUpToolWithInlineImagesTest method cleanUp.
private void cleanUp(String input, String output, List<PdfCleanUpLocation> cleanUpLocations) throws IOException {
PdfDocument pdfDocument = new PdfDocument(new PdfReader(input), new PdfWriter(output));
if (cleanUpLocations == null) {
PdfCleaner.cleanUpRedactAnnotations(pdfDocument);
} else {
PdfCleaner.cleanUp(pdfDocument, cleanUpLocations);
}
pdfDocument.close();
}
use of com.itextpdf.kernel.pdf.PdfReader in project i7j-pdfsweep by itext.
the class PdfCleanUpToolTest method simpleCleanUpOnRotatedPagesIgnoreRotation.
@Test
public void simpleCleanUpOnRotatedPagesIgnoreRotation() throws IOException, InterruptedException {
String fileName = "simpleCleanUpOnRotatedPagesIgnoreRotation";
String input = INPUT_PATH + "documentWithRotatedPages.pdf";
String output = OUTPUT_PATH + fileName + ".pdf";
String cmp = INPUT_PATH + "cmp_" + fileName + ".pdf";
PdfDocument pdfDocument = new PdfDocument(new PdfReader(input), new PdfWriter(output));
List<PdfCleanUpLocation> locationsList = new ArrayList<>();
for (int i = 0; i < 4; i++) {
locationsList.add(new PdfCleanUpLocation(i + 1, Rectangle.getRectangleOnRotatedPage(new Rectangle(100, 100, 200, 100), pdfDocument.getPage(i + 1)), ColorConstants.GREEN));
}
PdfCleaner.cleanUp(pdfDocument, locationsList);
pdfDocument.close();
compareByContent(cmp, output, OUTPUT_PATH, "diff_pathAndIncorrectCMTest");
}
Aggregations