Search in sources :

Example 11 with PdfReader

use of com.itextpdf.kernel.pdf.PdfReader in project i7j-pdfsweep by itext.

the class FilteredImagesCacheTest method filteredImagesCacheFlushingTest02.

@Test
public void filteredImagesCacheFlushingTest02() throws IOException, InterruptedException {
    String input = inputPath + "severalImageXObjectOccurrences.pdf";
    String output = outputPath + "filteredImagesCacheFlushingTest02.pdf";
    String cmp = inputPath + "cmp_filteredImagesCacheFlushingTest02.pdf";
    PdfDocument pdfDocument = new PdfDocument(new PdfReader(input), new PdfWriter(output));
    PdfCleanUpTool cleanUpTool = new PdfCleanUpTool(pdfDocument);
    cleanUpTool.addCleanupLocation(new PdfCleanUpLocation(1, new Rectangle(150, 300, 300, 150)));
    cleanUpTool.cleanUp();
    PdfImageXObject img = pdfDocument.getPage(1).getResources().getImage(new PdfName("Im1"));
    img.makeIndirect(pdfDocument).flush();
    cleanUpTool.addCleanupLocation(new PdfCleanUpLocation(2, new Rectangle(150, 300, 300, 150)));
    cleanUpTool.cleanUp();
    cleanUpTool.addCleanupLocation(new PdfCleanUpLocation(3, new Rectangle(150, 300, 300, 150)));
    cleanUpTool.cleanUp();
    pdfDocument.close();
    compareByContent(cmp, output, outputPath, "1.2");
    assertNumberXObjects(output, 1);
}
Also used : PdfImageXObject(com.itextpdf.kernel.pdf.xobject.PdfImageXObject) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfName(com.itextpdf.kernel.pdf.PdfName) Rectangle(com.itextpdf.kernel.geom.Rectangle) 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 12 with PdfReader

use of com.itextpdf.kernel.pdf.PdfReader 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 13 with PdfReader

use of com.itextpdf.kernel.pdf.PdfReader 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 14 with PdfReader

use of com.itextpdf.kernel.pdf.PdfReader 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 15 with PdfReader

use of com.itextpdf.kernel.pdf.PdfReader in project i7j-pdfsweep by itext.

the class CustomLocationExtractionStrategy method redactIPhoneUserManualMatchColor.

@Test
public void redactIPhoneUserManualMatchColor() throws IOException, InterruptedException {
    String input = inputPath + "iphone_user_guide_untagged.pdf";
    String output = outputPath + "redactIPhoneUserManualMatchColor.pdf";
    String cmp = inputPath + "cmp_redactIPhoneUserManualMatchColor.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
    CleanUpImagesCompareTool cmpTool = new CleanUpImagesCompareTool();
    String errorMessage = cmpTool.extractAndCompareImages(output, cmp, outputPath, "4");
    // TODO DEVSIX-4047 Switch to compareByContent() when the ticket will be resolved
    String compareByContentResult = cmpTool.compareVisually(output, cmp, outputPath, "diff_redactIPhoneUserManualMatchColor_", cmpTool.getIgnoredImagesAreas());
    if (compareByContentResult != null) {
        errorMessage += compareByContentResult;
    }
    if (!errorMessage.equals("")) {
        Assert.fail(errorMessage);
    }
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) CompositeCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy) 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)

Aggregations

PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)64 PdfReader (com.itextpdf.kernel.pdf.PdfReader)64 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)56 ExtendedITextTest (com.itextpdf.test.ExtendedITextTest)43 IntegrationTest (com.itextpdf.test.annotations.type.IntegrationTest)43 Test (org.junit.Test)43 Rectangle (com.itextpdf.kernel.geom.Rectangle)22 CompositeCleanupStrategy (com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy)22 RegexBasedCleanupStrategy (com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy)20 PdfString (com.itextpdf.kernel.pdf.PdfString)13 ConfirmEvent (com.itextpdf.commons.actions.confirmations.ConfirmEvent)11 ArrayList (java.util.ArrayList)11 ByteArrayOutputStream (com.itextpdf.io.source.ByteArrayOutputStream)9 ByteArrayInputStream (java.io.ByteArrayInputStream)9 CleanUpImagesCompareTool (com.itextpdf.pdfcleanup.util.CleanUpImagesCompareTool)7 CompareTool (com.itextpdf.kernel.utils.CompareTool)5 Document (com.itextpdf.layout.Document)5 PdfAutoSweepTools (com.itextpdf.pdfcleanup.autosweep.PdfAutoSweepTools)5 PdfCleanUpLocation (com.itextpdf.pdfcleanup.PdfCleanUpLocation)4 FileInputStream (java.io.FileInputStream)4