Search in sources :

Example 6 with CompositeCleanupStrategy

use of com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy in project i7j-pdfsweep by itext.

the class CustomLocationExtractionStrategy method redactTonySoprano.

@Test
public void redactTonySoprano() throws IOException, InterruptedException {
    String input = inputPath + "TheSopranos.pdf";
    String output = outputPath + "redactTonySoprano.pdf";
    String cmp = inputPath + "cmp_redactTonySoprano.pdf";
    CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
    strategy.add(new RegexBasedCleanupStrategy("Tony( |_)Soprano"));
    strategy.add(new RegexBasedCleanupStrategy("Soprano"));
    strategy.add(new RegexBasedCleanupStrategy("Sopranos"));
    PdfWriter writer = new PdfWriter(output);
    writer.setCompressionLevel(0);
    PdfDocument pdf = new PdfDocument(new PdfReader(input), writer);
    // sweep
    PdfCleaner.autoSweepCleanUp(pdf, strategy);
    pdf.close();
    // compare
    compareResults(cmp, output, outputPath, "4");
}
Also used : RegexBasedCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) 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 7 with CompositeCleanupStrategy

use of com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy in project i7j-pdfsweep by itext.

the class CustomLocationExtractionStrategy method cleanUpAreaCalculationPrecisionTest.

@Test
public void cleanUpAreaCalculationPrecisionTest() throws IOException, InterruptedException {
    String input = inputPath + "cleanUpAreaCalculationPrecision.pdf";
    String output = outputPath + "cleanUpAreaCalculationPrecision.pdf";
    String cmp = inputPath + "cmp_cleanUpAreaCalculationPrecision.pdf";
    CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
    strategy.add(new CustomLocationExtractionStrategy("(iphone)|(iPhone)"));
    PdfDocument pdf = new PdfDocument(new PdfReader(input), new PdfWriter(output));
    // sweep
    PdfCleaner.autoSweepCleanUp(pdf, strategy);
    pdf.close();
    // compare
    CompareTool compareTool = new CompareTool();
    String errorMessage = compareTool.compareByContent(output, cmp, outputPath);
    Assert.assertNull(errorMessage);
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) CompositeCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy) CompareTool(com.itextpdf.kernel.utils.CompareTool) CleanUpImagesCompareTool(com.itextpdf.pdfcleanup.util.CleanUpImagesCompareTool) 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 8 with CompositeCleanupStrategy

use of com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy in project i7j-pdfsweep by itext.

the class CustomLocationExtractionStrategy method redactIPhoneUserManualColored.

@Test
public void redactIPhoneUserManualColored() throws IOException, InterruptedException {
    String input = inputPath + "iphone_user_guide_untagged_small.pdf";
    String output = outputPath + "redactIPhoneUserManualColored.pdf";
    String cmp = inputPath + "cmp_redactIPhoneUserManualColored.pdf";
    CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
    strategy.add(new RegexBasedCleanupStrategy("(iphone)|(iPhone)").setRedactionColor(ColorConstants.GREEN));
    PdfDocument pdf = new PdfDocument(new PdfReader(input), new PdfWriter(output));
    // sweep
    PdfCleaner.autoSweepCleanUp(pdf, strategy);
    pdf.close();
    compareResults(cmp, output, outputPath, "4");
}
Also used : RegexBasedCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) 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 9 with CompositeCleanupStrategy

use of com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy in project i7j-pdfsweep by itext.

the class CleanupLicenseEventsTest method autoCleanWithStreamParamsSendsCleanUpEventTest.

@Test
public void autoCleanWithStreamParamsSendsCleanUpEventTest() throws Exception {
    String input = INPUT_PATH + "fontCleanup.pdf";
    String output = OUTPUT_PATH + "autoCleanWithStreamParamsSendsCleanUpEventTest.pdf";
    CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
    strategy.add(new RegexBasedCleanupStrategy("leonard"));
    PdfCleaner.autoSweepCleanUp(new FileInputStream(input), new FileOutputStream(output), strategy);
    List<ConfirmEvent> events = handler.getEvents();
    Assert.assertEquals(1, events.size());
    Assert.assertEquals(PdfSweepProductEvent.CLEANUP_PDF, events.get(0).getEvent().getEventType());
    try (PdfDocument outDoc = new PdfDocument(new PdfReader(output));
        PdfDocument inputDoc = new PdfDocument(new PdfReader(input))) {
        String expectedProdLine = createExpectedProducerLine(new ConfirmedEventWrapper[] { getCleanUpEvent() }, inputDoc.getDocumentInfo().getProducer());
        Assert.assertEquals(expectedProdLine, outDoc.getDocumentInfo().getProducer());
    }
}
Also used : RegexBasedCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy) CompositeCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy) FileOutputStream(java.io.FileOutputStream) ConfirmEvent(com.itextpdf.commons.actions.confirmations.ConfirmEvent) PdfReader(com.itextpdf.kernel.pdf.PdfReader) FileInputStream(java.io.FileInputStream) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) IntegrationTest(com.itextpdf.test.annotations.type.IntegrationTest) ExtendedITextTest(com.itextpdf.test.ExtendedITextTest) Test(org.junit.Test)

Example 10 with CompositeCleanupStrategy

use of com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy in project i7j-pdfsweep by itext.

the class PdfCleanUpToolTest method autoSweepCleanUpWithAdditionalLocationTest.

@Test
public void autoSweepCleanUpWithAdditionalLocationTest() throws Exception {
    String in = INPUT_PATH + "page229.pdf";
    String out = OUTPUT_PATH + "autoSweepCleanUpWithAdditionalLocationTest.pdf";
    String cmp = INPUT_PATH + "cmp_autoSweepCleanUpWithAdditionalLocationTest.pdf";
    List<PdfCleanUpLocation> cleanUpLocations = new ArrayList<>();
    cleanUpLocations.add(new PdfCleanUpLocation(1, new Rectangle(100, 560, 200, 30)));
    CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
    strategy.add(new RegexBasedCleanupStrategy(" (T|t)o ").setRedactionColor(ColorConstants.GREEN));
    try (PdfReader reader = new PdfReader(in);
        PdfWriter writer = new PdfWriter(out);
        PdfDocument document = new PdfDocument(reader, writer)) {
        PdfCleaner.autoSweepCleanUp(document, strategy, cleanUpLocations);
    }
    CompareTool cmpTool = new CompareTool();
    String errorMessage = cmpTool.compareVisually(out, cmp, OUTPUT_PATH, "diff_autoSweepCleanUpWithAdditionalLocationTest_");
    if (errorMessage != null) {
        Assert.fail(errorMessage);
    }
}
Also used : RegexBasedCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) CompositeCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy) ArrayList(java.util.ArrayList) Rectangle(com.itextpdf.kernel.geom.Rectangle) CompareTool(com.itextpdf.kernel.utils.CompareTool) CleanUpImagesCompareTool(com.itextpdf.pdfcleanup.util.CleanUpImagesCompareTool) PdfString(com.itextpdf.kernel.pdf.PdfString) 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

CompositeCleanupStrategy (com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy)25 ExtendedITextTest (com.itextpdf.test.ExtendedITextTest)25 IntegrationTest (com.itextpdf.test.annotations.type.IntegrationTest)25 Test (org.junit.Test)25 RegexBasedCleanupStrategy (com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy)23 PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)22 PdfReader (com.itextpdf.kernel.pdf.PdfReader)22 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)20 PdfString (com.itextpdf.kernel.pdf.PdfString)12 Rectangle (com.itextpdf.kernel.geom.Rectangle)7 ConfirmEvent (com.itextpdf.commons.actions.confirmations.ConfirmEvent)5 PdfAutoSweepTools (com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools)5 FileInputStream (java.io.FileInputStream)5 FileOutputStream (java.io.FileOutputStream)5 CleanUpImagesCompareTool (com.itextpdf.pdfcleanup.util.CleanUpImagesCompareTool)4 ByteArrayOutputStream (com.itextpdf.io.source.ByteArrayOutputStream)3 ByteArrayInputStream (java.io.ByteArrayInputStream)3 ArrayList (java.util.ArrayList)3 CompareTool (com.itextpdf.kernel.utils.CompareTool)2 LogMessages (com.itextpdf.test.annotations.LogMessages)1