use of com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools in project i7j-pdfsweep by itext.
the class PdfAutoSweepToolsTest method highlightTest.
@Test
public void highlightTest() throws IOException, InterruptedException {
String input = INPUT_PATH + "Lipsum.pdf";
String output = OUTPUT_PATH + "highlightTest.pdf";
String cmp = INPUT_PATH + "cmp_highlightTest.pdf";
CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
strategy.add(new RegexBasedCleanupStrategy("(D|d)olor").setRedactionColor(ColorConstants.GREEN));
PdfDocument pdf = new PdfDocument(new PdfReader(input), new PdfWriter(output).setCompressionLevel(CompressionConstants.NO_COMPRESSION));
// sweep
PdfAutoSweepTools autoSweep = new PdfAutoSweepTools(strategy);
autoSweep.highlight(pdf);
pdf.close();
// compare
compareByContent(cmp, output, OUTPUT_PATH, "diff_highlightTest_");
}
use of com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools in project i7j-pdfsweep by itext.
the class PdfAutoSweepToolsTest method getPdfCleanUpLocationsTest.
@Test
public void getPdfCleanUpLocationsTest() throws IOException {
String input = INPUT_PATH + "Lipsum.pdf";
CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
strategy.add(new RegexBasedCleanupStrategy("(D|d)olor"));
PdfDocument pdf = new PdfDocument(new PdfReader(input), new PdfWriter(new ByteArrayOutputStream()));
// sweep
List cleanUpLocations = (List) new PdfAutoSweepTools(strategy).getPdfCleanUpLocations(pdf.getPage(1));
pdf.close();
// compare
Assert.assertEquals(2, cleanUpLocations.size());
}
use of com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools in project i7j-pdfsweep by itext.
the class PdfAutoSweepToolsTest method tentativeCleanUpTest.
@Test
public void tentativeCleanUpTest() throws IOException, InterruptedException {
String input = INPUT_PATH + "Lipsum.pdf";
String output = OUTPUT_PATH + "tentativeCleanUp.pdf";
String cmp = INPUT_PATH + "cmp_tentativeCleanUp.pdf";
CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
strategy.add(new RegexBasedCleanupStrategy("(D|d)olor").setRedactionColor(ColorConstants.GREEN));
PdfDocument pdf = new PdfDocument(new PdfReader(input), new PdfWriter(output).setCompressionLevel(0));
// sweep
PdfAutoSweepTools autoSweep = new PdfAutoSweepTools(strategy);
autoSweep.tentativeCleanUp(pdf);
pdf.close();
// compare
compareByContent(cmp, output, OUTPUT_PATH, "diff_tentativeCleanUp_");
}
use of com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools in project i7j-pdfsweep by itext.
the class PdfCleaner method autoSweepCleanUp.
/**
* Perform cleanup of areas of interest based on a given cleanup strategy.
* Note, use methods with InputStream/OutputStream params if you don't want to consume itext-core product license
* limits.
*
* @param pdfPage the {@link PdfPage} to which cleaned up applies
* @param strategy cleanup strategy to be used
* @param additionalCleanUpLocations list of additional locations to be cleaned up
*
* @throws IOException if an I/O error occurs
*/
public static void autoSweepCleanUp(PdfPage pdfPage, ICleanupStrategy strategy, List<PdfCleanUpLocation> additionalCleanUpLocations) throws IOException {
List<PdfCleanUpLocation> cleanUpLocations = new PdfAutoSweepTools(strategy).getPdfCleanUpLocations(pdfPage);
cleanUpLocations.addAll(additionalCleanUpLocations);
cleanUp(pdfPage.getDocument(), cleanUpLocations, new CleanUpProperties());
}
use of com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools in project i7j-pdfsweep by itext.
the class CleanupLicenseEventsTest method autoSweepTentativeCleanUpSendsCoreEventTest.
@Test
public void autoSweepTentativeCleanUpSendsCoreEventTest() throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfDocument document = new PdfDocument(new PdfReader(INPUT_PATH + "fontCleanup.pdf"), new PdfWriter(baos));
CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
strategy.add(new RegexBasedCleanupStrategy("leonard"));
PdfAutoSweepTools autoSweep = new PdfAutoSweepTools(strategy);
autoSweep.tentativeCleanUp(document);
String oldProducer = document.getDocumentInfo().getProducer();
document.close();
List<ConfirmEvent> events = handler.getEvents();
Assert.assertEquals(1, events.size());
Assert.assertEquals(ITextCoreProductEvent.PROCESS_PDF, events.get(0).getEvent().getEventType());
try (PdfDocument pdfDocument = new PdfDocument(new PdfReader(new ByteArrayInputStream(baos.toByteArray())))) {
String expectedProdLine = createExpectedProducerLine(new ConfirmedEventWrapper[] { getCoreEvent() }, oldProducer);
Assert.assertEquals(expectedProdLine, pdfDocument.getDocumentInfo().getProducer());
}
}
Aggregations