Search in sources :

Example 1 with CanvasTag

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

the class PdfCleanUpProcessor method beginTextObjectAndOpenNotWrittenTags.

private void beginTextObjectAndOpenNotWrittenTags() {
    if (!isInText) {
        int numOfTagsBeforeBT = notWrittenTags.size() - numOfOpenedTagsInsideText;
        CanvasTag tag;
        for (int i = 0; i < numOfTagsBeforeBT; ++i) {
            tag = notWrittenTags.pollLast();
            getCanvas().openTag(tag);
        }
        getCanvas().beginText();
        isInText = true;
        openNotWrittenTags();
    } else {
        openNotWrittenTags();
    }
}
Also used : CanvasTag(com.itextpdf.kernel.pdf.canvas.CanvasTag) Point(com.itextpdf.kernel.geom.Point)

Example 2 with CanvasTag

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

the class PdfCleanUpProcessorUnitTest method openNotWrittenTagsUsualTest.

@Test
public void openNotWrittenTagsUsualTest() {
    final Deque<CanvasTag> tags = new ArrayDeque<>(Arrays.asList(new CanvasTag(new PdfName("tag name1")), new CanvasTag(new PdfName("tag name2")), new CanvasTag(new PdfName("tag name3"))));
    testOpenNotWrittenTags(tags);
}
Also used : CanvasTag(com.itextpdf.kernel.pdf.canvas.CanvasTag) PdfName(com.itextpdf.kernel.pdf.PdfName) ArrayDeque(java.util.ArrayDeque) ExtendedITextTest(com.itextpdf.test.ExtendedITextTest) Test(org.junit.Test) UnitTest(com.itextpdf.test.annotations.type.UnitTest)

Example 3 with CanvasTag

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

the class PdfCleanUpProcessorUnitTest method testOpenNotWrittenTags.

private void testOpenNotWrittenTags(final Deque<CanvasTag> tags) {
    PdfCleanUpProcessor processor = new PdfCleanUpProcessor(null, null) {

        @Override
        PdfCanvas getCanvas() {
            return new PdfCanvas(new PdfStream(), null, null) {

                final Deque<CanvasTag> tagsToCompare = tags;

                @Override
                public PdfCanvas openTag(CanvasTag tag) {
                    Assert.assertEquals(tagsToCompare.pop(), tag);
                    return null;
                }
            };
        }
    };
    for (CanvasTag tag : tags) {
        processor.addNotWrittenTag(tag);
    }
    processor.openNotWrittenTags();
}
Also used : CanvasTag(com.itextpdf.kernel.pdf.canvas.CanvasTag) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) PdfStream(com.itextpdf.kernel.pdf.PdfStream) Deque(java.util.Deque) ArrayDeque(java.util.ArrayDeque)

Example 4 with CanvasTag

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

the class PdfCleanUpProcessor method openNotWrittenTags.

/**
 * Opens all tags from deque of not written tags. Should be called before some content is drawn.
 */
void openNotWrittenTags() {
    CanvasTag tag = notWrittenTags.pollLast();
    while (tag != null) {
        getCanvas().openTag(tag);
        tag = notWrittenTags.pollLast();
    }
}
Also used : CanvasTag(com.itextpdf.kernel.pdf.canvas.CanvasTag)

Aggregations

CanvasTag (com.itextpdf.kernel.pdf.canvas.CanvasTag)4 ArrayDeque (java.util.ArrayDeque)2 Point (com.itextpdf.kernel.geom.Point)1 PdfName (com.itextpdf.kernel.pdf.PdfName)1 PdfStream (com.itextpdf.kernel.pdf.PdfStream)1 PdfCanvas (com.itextpdf.kernel.pdf.canvas.PdfCanvas)1 ExtendedITextTest (com.itextpdf.test.ExtendedITextTest)1 UnitTest (com.itextpdf.test.annotations.type.UnitTest)1 Deque (java.util.Deque)1 Test (org.junit.Test)1