Search in sources :

Example 1 with PdfAutoSweepTools

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_");
}
Also used : RegexBasedCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfAutoSweepTools(com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools) CompositeCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) IntegrationTest(com.itextpdf.test.annotations.type.IntegrationTest) ExtendedITextTest(com.itextpdf.test.ExtendedITextTest) Test(org.junit.Test)

Example 2 with PdfAutoSweepTools

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());
}
Also used : RegexBasedCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfAutoSweepTools(com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools) CompositeCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy) List(java.util.List) PdfReader(com.itextpdf.kernel.pdf.PdfReader) ByteArrayOutputStream(java.io.ByteArrayOutputStream) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) IntegrationTest(com.itextpdf.test.annotations.type.IntegrationTest) ExtendedITextTest(com.itextpdf.test.ExtendedITextTest) Test(org.junit.Test)

Example 3 with PdfAutoSweepTools

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_");
}
Also used : RegexBasedCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfAutoSweepTools(com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools) CompositeCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) IntegrationTest(com.itextpdf.test.annotations.type.IntegrationTest) ExtendedITextTest(com.itextpdf.test.ExtendedITextTest) Test(org.junit.Test)

Example 4 with PdfAutoSweepTools

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());
}
Also used : PdfAutoSweepTools(com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools)

Example 5 with PdfAutoSweepTools

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());
    }
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) RegexBasedCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy) PdfAutoSweepTools(com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools) CompositeCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy) ByteArrayInputStream(java.io.ByteArrayInputStream) ConfirmEvent(com.itextpdf.commons.actions.confirmations.ConfirmEvent) ByteArrayOutputStream(com.itextpdf.io.source.ByteArrayOutputStream) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) IntegrationTest(com.itextpdf.test.annotations.type.IntegrationTest) ExtendedITextTest(com.itextpdf.test.ExtendedITextTest) Test(org.junit.Test)

Aggregations

PdfAutoSweepTools (com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools)11 PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)5 PdfReader (com.itextpdf.kernel.pdf.PdfReader)5 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)5 CompositeCleanupStrategy (com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy)5 RegexBasedCleanupStrategy (com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy)5 ExtendedITextTest (com.itextpdf.test.ExtendedITextTest)5 IntegrationTest (com.itextpdf.test.annotations.type.IntegrationTest)5 Test (org.junit.Test)5 ConfirmEvent (com.itextpdf.commons.actions.confirmations.ConfirmEvent)2 ByteArrayOutputStream (com.itextpdf.io.source.ByteArrayOutputStream)2 ByteArrayInputStream (java.io.ByteArrayInputStream)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 List (java.util.List)1