Search in sources :

Example 61 with PdfReader

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

the class PdfCleanUpToolTest method lineArtsDrawingOnCanvasTest.

@Test
@Ignore("DEVSIX-4047")
public void lineArtsDrawingOnCanvasTest() throws IOException, InterruptedException {
    String input = INPUT_PATH + "lineArtsDrawingOnCanvas.pdf";
    String output = OUTPUT_PATH + "lineArtsDrawingOnCanvas.pdf";
    String cmp = INPUT_PATH + "cmp_lineArtsDrawingOnCanvas.pdf";
    CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
    strategy.add(new RegexBasedCleanupStrategy("(iphone)|(iPhone)"));
    PdfDocument pdf = new PdfDocument(new PdfReader(input), new PdfWriter(output));
    PdfCleaner.autoSweepCleanUp(pdf, strategy);
    pdf.close();
    compareByContent(cmp, output, OUTPUT_PATH, "diff_lineArtsDrawingOnCanvasTest_");
}
Also used : RegexBasedCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.RegexBasedCleanupStrategy) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) CompositeCleanupStrategy(com.itextpdf.pdfcleanup.autosweep.CompositeCleanupStrategy) PdfString(com.itextpdf.kernel.pdf.PdfString) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Ignore(org.junit.Ignore) IntegrationTest(com.itextpdf.test.annotations.type.IntegrationTest) ExtendedITextTest(com.itextpdf.test.ExtendedITextTest) Test(org.junit.Test)

Example 62 with PdfReader

use of com.itextpdf.kernel.pdf.PdfReader 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 inputPdf                   the pdf document InputStream to which cleaned up applies
 * @param outputPdf                  the cleaned up pdf document OutputStream
 * @param strategy                   cleanup strategy to be used
 * @param additionalCleanUpLocations list of additional locations to be cleaned up
 * @param properties                 additional properties for cleanUp
 *
 * @throws IOException if an I/O error occurs
 */
public static void autoSweepCleanUp(InputStream inputPdf, OutputStream outputPdf, ICleanupStrategy strategy, List<PdfCleanUpLocation> additionalCleanUpLocations, CleanUpProperties properties) throws IOException {
    StampingProperties stampingProperties = new StampingProperties();
    IMetaInfo propertiesMetaInfo = properties.getMetaInfo();
    stampingProperties.setEventCountingMetaInfo(propertiesMetaInfo == null ? new CleanUpToolMetaInfo() : propertiesMetaInfo);
    try (PdfReader reader = new PdfReader(inputPdf);
        PdfWriter writer = new PdfWriter(outputPdf);
        PdfDocument pdfDocument = new PdfDocument(reader, writer, stampingProperties)) {
        autoSweepCleanUp(pdfDocument, strategy, additionalCleanUpLocations, properties);
    }
}
Also used : IMetaInfo(com.itextpdf.commons.actions.contexts.IMetaInfo) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) StampingProperties(com.itextpdf.kernel.pdf.StampingProperties) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument)

Example 63 with PdfReader

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

the class PdfCleaner method cleanUp.

/**
 * Cleans the document by erasing all the areas which are provided.
 * Note, use methods with InputStream/OutputStream params if you don't want to consume itext-core product license
 * limits.
 *
 * @param inputPdf         the pdf document InputStream to which cleaned up applies
 * @param outputPdf        the cleaned up pdf document OutputStream
 * @param cleanUpLocations list of locations to be cleaned up
 * @param properties       additional properties for cleanUp
 *
 * @throws IOException if an I/O error occurs
 */
public static void cleanUp(InputStream inputPdf, OutputStream outputPdf, List<PdfCleanUpLocation> cleanUpLocations, CleanUpProperties properties) throws IOException {
    StampingProperties stampingProperties = new StampingProperties();
    IMetaInfo propertiesMetaInfo = properties.getMetaInfo();
    stampingProperties.setEventCountingMetaInfo(propertiesMetaInfo == null ? new CleanUpToolMetaInfo() : propertiesMetaInfo);
    try (PdfReader reader = new PdfReader(inputPdf);
        PdfWriter writer = new PdfWriter(outputPdf);
        PdfDocument pdfDocument = new PdfDocument(reader, writer, stampingProperties)) {
        cleanUp(pdfDocument, cleanUpLocations, properties);
    }
}
Also used : IMetaInfo(com.itextpdf.commons.actions.contexts.IMetaInfo) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) StampingProperties(com.itextpdf.kernel.pdf.StampingProperties) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument)

Example 64 with PdfReader

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

the class PdfCleaner method cleanUpRedactAnnotations.

/**
 * Cleans the document by erasing regions defined by redact annotations inside the document.
 * Note, use methods with InputStream/OutputStream params if you don't want to consume itext-core product license
 * limits.
 *
 * @param inputPdf                   the pdf document InputStream to which cleaned up applies
 * @param outputPdf                  the cleaned up pdf document OutputStream
 * @param additionalCleanUpLocations list of locations to be cleaned up
 * @param properties                 additional properties for cleanUp
 *
 * @throws IOException if an I/O error occurs
 */
public static void cleanUpRedactAnnotations(InputStream inputPdf, OutputStream outputPdf, List<PdfCleanUpLocation> additionalCleanUpLocations, CleanUpProperties properties) throws IOException {
    StampingProperties stampingProperties = new StampingProperties();
    IMetaInfo propertiesMetaInfo = properties.getMetaInfo();
    stampingProperties.setEventCountingMetaInfo(propertiesMetaInfo == null ? new CleanUpToolMetaInfo() : propertiesMetaInfo);
    try (PdfReader reader = new PdfReader(inputPdf);
        PdfWriter writer = new PdfWriter(outputPdf);
        PdfDocument pdfDocument = new PdfDocument(reader, writer, stampingProperties)) {
        cleanUpRedactAnnotations(pdfDocument, additionalCleanUpLocations, properties);
    }
}
Also used : IMetaInfo(com.itextpdf.commons.actions.contexts.IMetaInfo) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) StampingProperties(com.itextpdf.kernel.pdf.StampingProperties) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument)

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