当前位置: 首页>>代码示例>>Java>>正文


Java SeekableSources类代码示例

本文整理汇总了Java中org.sejda.io.SeekableSources的典型用法代码示例。如果您正苦于以下问题:Java SeekableSources类的具体用法?Java SeekableSources怎么用?Java SeekableSources使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


SeekableSources类属于org.sejda.io包,在下文中一共展示了SeekableSources类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: checkJpegStream

import org.sejda.io.SeekableSources; //导入依赖的package包/类
private void checkJpegStream(File testResultsDir, String filename, InputStream resourceStream)
        throws IOException
{
    try (PDDocument doc = PDFParser
            .parse(SeekableSources.seekableSourceFrom(new File(testResultsDir, filename))))
    {
        PDImageXObject img = (PDImageXObject) doc.getPage(0).getResources()
                .getXObject(COSName.getPDFName("Im1"));
        InputStream dctStream = img.getCOSObject().getFilteredStream();
        ByteArrayOutputStream baos1 = new ByteArrayOutputStream();
        ByteArrayOutputStream baos2 = new ByteArrayOutputStream();
        IOUtils.copy(resourceStream, baos1);
        IOUtils.copy(dctStream, baos2);
        resourceStream.close();
        dctStream.close();
        assertArrayEquals(baos1.toByteArray(), baos2.toByteArray());
    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:19,代码来源:JPEGFactoryTest.java

示例2: indexOfPageFromOutlineDestination

import org.sejda.io.SeekableSources; //导入依赖的package包/类
@Test
public void indexOfPageFromOutlineDestination() throws IOException
{
    try (PDDocument doc = PDFParser.parse(SeekableSources.inMemorySeekableSourceFrom(
            PDPageTreeTest.class.getResourceAsStream("with_outline.pdf"))))
    {
        PDDocumentOutline outline = doc.getDocumentCatalog().getDocumentOutline();
        for (PDOutlineItem current : outline.children())
        {
            if (current.getTitle().contains("Second"))
            {
                assertEquals(2, doc.getPages().indexOf(current.findDestinationPage(doc)));
            }
        }
    }

}
 
开发者ID:torakiki,项目名称:sambox,代码行数:18,代码来源:PDPageTreeTest.java

示例3: pageNotFoundIncludesSourcePathAndPageNumber

import org.sejda.io.SeekableSources; //导入依赖的package包/类
@Test
public void pageNotFoundIncludesSourcePathAndPageNumber() throws IOException
{
    try (PDDocument doc = PDFParser.parse(SeekableSources.onTempFileSeekableSourceFrom(
            PDPageTreeTest.class.getResourceAsStream("with_outline.pdf"))))
    {
        try {
            doc.getPage(99 /* 0 based */);
            fail("Exception expected");
        } catch (PageNotFoundException ex) {
            assertEquals(ex.getPage(), 100 /* 1 based, for humans */);
            assertThat(ex.getSourcePath(), containsString(File.separator + "SejdaIO"));
            assertThat(ex.getSourcePath(), endsWith(".tmp"));
        }
    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:17,代码来源:PDPageTreeTest.java

示例4: readTransitions

import org.sejda.io.SeekableSources; //导入依赖的package包/类
@Test
public void readTransitions() throws IOException
{
    try (PDDocument doc = PDFParser
            .parse(SeekableSources
                    .inMemorySeekableSourceFrom(getClass()
                            .getResourceAsStream(
                                    "/org/sejda/sambox/pdmodel/interactive/pagenavigation/transitions_test.pdf"))))
    {
        PDTransition firstTransition = doc.getPages().get(0).getTransition();
        assertEquals(PDTransitionStyle.Glitter.name(), firstTransition.getStyle());
        assertEquals(2, firstTransition.getDuration(), 0);
        assertEquals(PDTransitionDirection.TOP_LEFT_TO_BOTTOM_RIGHT.getCOSBase(),
                firstTransition.getDirection());
    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:17,代码来源:TestPDPageTransitions.java

示例5: testSaveLoadStream

import org.sejda.io.SeekableSources; //导入依赖的package包/类
/**
 * Test document save/load using a stream.
 * 
 * @throws IOException if something went wrong
 */
public void testSaveLoadStream() throws IOException
{
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    // Create PDF with one blank page
    try (PDDocument document = new PDDocument())
    {
        document.addPage(new PDPage());
        document.writeTo(baos);
    }

    // Verify content
    byte[] pdf = baos.toByteArray();
    assertTrue(pdf.length > 200);
    assertEquals("%PDF-1.4", new String(Arrays.copyOfRange(pdf, 0, 8), "UTF-8"));
    assertEquals("%%EOF\n",
            new String(Arrays.copyOfRange(pdf, pdf.length - 6, pdf.length), "UTF-8"));

    // Load
    try (PDDocument loadDoc = PDFParser.parse(SeekableSources.inMemorySeekableSourceFrom(pdf)))
    {
        assertEquals(1, loadDoc.getNumberOfPages());
    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:29,代码来源:TestPDDocument.java

示例6: testWidgetMissingRect

import org.sejda.io.SeekableSources; //导入依赖的package包/类
/**
 * This will test the handling of a widget with a missing (required) /Rect entry.
 *
 * @throws IOException If there is an error loading the form or the field.
 */
@Test
public void testWidgetMissingRect() throws IOException
{
    try (PDDocument doc = PDFParser
            .parse(SeekableSources.inMemorySeekableSourceFrom(getClass().getResourceAsStream(
                    "/org/sejda/sambox/pdmodel/interactive/form/AcroFormsBasicFields.pdf"))))
    {
        PDAcroForm form = doc.getDocumentCatalog().getAcroForm();

        PDTextField textField = (PDTextField) form.getField("TextField-DefaultValue");
        PDAnnotationWidget widget = textField.getWidgets().get(0);

        // initially there is an Appearance Entry in the form
        assertNotNull(widget.getCOSObject().getDictionaryObject(COSName.AP));
        widget.getCOSObject().removeItem(COSName.RECT);
        textField.setValue("field value");

        // There shall be no appearance entry if there is no /Rect to
        // behave as Adobe Acrobat does
        assertNull(widget.getCOSObject().getDictionaryObject(COSName.AP));

    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:29,代码来源:TestFields.java

示例7: setUp

import org.sejda.io.SeekableSources; //导入依赖的package包/类
@Before
public void setUp() throws IOException
{
    document = PDFParser.parse(
            SeekableSources.inMemorySeekableSourceFrom(this.getClass().getResourceAsStream(
                    "/org/sejda/sambox/pdmodel/interactive/form/DifferentDALevels.pdf")));
    acroForm = document.getDocumentCatalog().getAcroForm();

    // prefill the fields to generate the appearance streams
    PDTextField field = (PDTextField) acroForm.getField("SingleAnnotation");
    field.setValue("single annotation");

    field = (PDTextField) acroForm.getField("MultipeAnnotations-SameLayout");
    field.setValue("same layout");

    field = (PDTextField) acroForm.getField("MultipleAnnotations-DifferentLayout");
    field.setValue("different layout");
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:19,代码来源:HandleDifferentDALevelsTest.java

示例8: testRadioButtonWithOptions

import org.sejda.io.SeekableSources; //导入依赖的package包/类
/**
 * PDFBOX-3656
 *
 * Test a radio button with options. This was causing an ArrayIndexOutOfBoundsException when trying to set to "Off",
 * as this wasn't treated to be a valid option.
 *
 * @throws IOException
 */
@Test
public void testRadioButtonWithOptions() throws IOException
{
    try (PDDocument document = PDFParser.parse(
            SeekableSources.inMemorySeekableSourceFrom(this.getClass().getResourceAsStream(
                    "/org/sejda/sambox/pdmodel/interactive/form/radio_with_options.pdf"))))
    {

        PDRadioButton radioButton = (PDRadioButton) document.getDocumentCatalog().getAcroForm()
                .getField("Checking/Savings");
        radioButton.setValue("Off");
        for (PDAnnotationWidget widget : radioButton.getWidgets())
        {
            assertEquals("The widget should be set to Off", COSName.Off,
                    widget.getCOSObject().getItem(COSName.AS));
        }

    }

}
 
开发者ID:torakiki,项目名称:sambox,代码行数:29,代码来源:PDButtonTest.java

示例9: testRadioButtonWithOptionsThatDontMatchNormalAppearance

import org.sejda.io.SeekableSources; //导入依赖的package包/类
@Test
public void testRadioButtonWithOptionsThatDontMatchNormalAppearance() throws IOException
{
    try (PDDocument document = PDFParser.parse(
            SeekableSources.inMemorySeekableSourceFrom(this.getClass().getResourceAsStream(
                    "/org/sejda/sambox/pdmodel/interactive/form/simple_form.pdf"))))
    {

        PDRadioButton radioButton = (PDRadioButton) document.getDocumentCatalog().getAcroForm()
                .getField("Choice_Caption_0wUBrGuJDKIWD9g7kWcKpg");
        radioButton.setValue("1");
        radioButton.setValue("Second Choice");

        assertEquals("Export value does not exist in normal appearance. Don't export value",
                radioButton.getValue(), "1");

        assertEquals("First widget should be Off", COSName.Off,
                radioButton.getWidgets().get(0).getCOSObject().getItem(COSName.AS));

        assertEquals("Second widget should be set to 1", COSName.getPDFName("1"),
                radioButton.getWidgets().get(1).getCOSObject().getItem(COSName.AS));

    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:25,代码来源:PDButtonTest.java

示例10: testRadioButtonWithOptionsThatDoMatchNormalAppearance

import org.sejda.io.SeekableSources; //导入依赖的package包/类
@Test
public void testRadioButtonWithOptionsThatDoMatchNormalAppearance() throws IOException
{
    try (PDDocument document = PDFParser.parse(
            SeekableSources.inMemorySeekableSourceFrom(this.getClass().getResourceAsStream(
                    "/org/sejda/sambox/pdmodel/interactive/form/PDFBOX-3656 - test.pdf"))))
    {

        PDRadioButton radioButton = (PDRadioButton) document.getDocumentCatalog().getAcroForm()
                .getField("RadioButton");
        radioButton.setValue("c");

        assertEquals("Export value does exist in normal appearance. Do export value",
                radioButton.getValue(), "c");

        assertEquals("First widget should be Off", COSName.Off,
                radioButton.getWidgets().get(0).getCOSObject().getItem(COSName.AS));

        assertEquals("Second widget should be Off", COSName.Off,
                radioButton.getWidgets().get(1).getCOSObject().getItem(COSName.AS));

        assertEquals("Third widget should be set to c", COSName.getPDFName("c"),
                radioButton.getWidgets().get(2).getCOSObject().getItem(COSName.AS));

    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:27,代码来源:PDButtonTest.java

示例11: testFlattenWidgetNoRef

import org.sejda.io.SeekableSources; //导入依赖的package包/类
@Test
public void testFlattenWidgetNoRef() throws IOException
{
    try (PDDocument doc = PDFParser
            .parse(SeekableSources.inMemorySeekableSourceFrom(getClass().getResourceAsStream(
                    "/org/sejda/sambox/pdmodel/interactive/form/AlignmentTests.pdf"))))
    {
        PDAcroForm acroForm = doc.getDocumentCatalog().getAcroForm();
        for (PDField field : acroForm.getFieldTree())
        {
            for (PDAnnotationWidget widget : field.getWidgets())
            {
                widget.getCOSObject().removeItem(COSName.P);
            }
        }
        doc.getDocumentCatalog().getAcroForm().flatten();
        assertTrue(doc.getDocumentCatalog().getAcroForm().getFields().isEmpty());
    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:20,代码来源:PDAcroFormTest.java

示例12: doTest

import org.sejda.io.SeekableSources; //导入依赖的package包/类
private void doTest(WriteOption... options) throws IOException
{
    try (PDDocument current = PDFParser.parse(SeekableSources
            .inMemorySeekableSourceFrom(getClass().getResourceAsStream(inputFile)), pwd))
    {
        try (ByteArrayOutputStream out = new ByteArrayOutputStream())
        {
            current.writeTo(out, options);
            try (PDDocument outDoc = PDFParser
                    .parse(SeekableSources.inMemorySeekableSourceFrom(out.toByteArray())))
            {
                assertTrue(outDoc.getNumberOfPages() > 0);
            }
        }
    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:17,代码来源:ShakeDownTest.java

示例13: doTestEncrypted

import org.sejda.io.SeekableSources; //导入依赖的package包/类
private void doTestEncrypted(StandardSecurity security, WriteOption... options)
        throws IOException
{
    try (PDDocument current = PDFParser.parse(SeekableSources
            .inMemorySeekableSourceFrom(getClass().getResourceAsStream(inputFile)), pwd))
    {
        try (ByteArrayOutputStream out = new ByteArrayOutputStream())
        {
            current.writeTo(out, security, options);

            try (PDDocument outDoc = PDFParser.parse(
                    SeekableSources.inMemorySeekableSourceFrom(out.toByteArray()),
                    new String(security.userPassword)))
            {
                assertTrue(outDoc.getNumberOfPages() > 0);
            }
        }
    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:20,代码来源:ShakeDownTest.java

示例14: setVersion

import org.sejda.io.SeekableSources; //导入依赖的package包/类
@Test
public void setVersion() throws IOException
{
    try (IncrementablePDDocument incrementable = PDFParser
            .parseToIncrement(SeekableSources.inMemorySeekableSourceFrom(
                    getClass().getResourceAsStream("/sambox/simple_test.pdf"))))
    {
        incrementable.setVersion(SpecVersionUtils.V1_4);
        assertTrue(incrementable.replacements().isEmpty());
        incrementable.setVersion(SpecVersionUtils.V1_5);
        assertTrue(incrementable.replacements().isEmpty());
        incrementable.setVersion(SpecVersionUtils.V1_6);
        assertFalse(incrementable.replacements().isEmpty());
        IndirectCOSObjectReference catalogReplacement = incrementable.replacements().get(0);
        assertEquals(new COSObjectKey(1, 0), catalogReplacement.xrefEntry().key());
        assertEquals(SpecVersionUtils.V1_6, ((COSDictionary) catalogReplacement.getCOSObject())
                .getNameAsString(COSName.VERSION));
    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:20,代码来源:IncrementablePDDocumentTest.java

示例15: requireMinVersion

import org.sejda.io.SeekableSources; //导入依赖的package包/类
@Test
public void requireMinVersion() throws IOException
{
    try (IncrementablePDDocument incrementable = PDFParser
            .parseToIncrement(SeekableSources.inMemorySeekableSourceFrom(
                    getClass().getResourceAsStream("/sambox/simple_test.pdf"))))
    {
        incrementable.requireMinVersion(SpecVersionUtils.V1_4);
        assertTrue(incrementable.replacements().isEmpty());
        incrementable.requireMinVersion(SpecVersionUtils.V1_5);
        assertTrue(incrementable.replacements().isEmpty());
        incrementable.requireMinVersion(SpecVersionUtils.V1_6);
        assertFalse(incrementable.replacements().isEmpty());
        IndirectCOSObjectReference catalogReplacement = incrementable.replacements().get(0);
        assertEquals(new COSObjectKey(1, 0), catalogReplacement.xrefEntry().key());
        assertEquals(SpecVersionUtils.V1_6, ((COSDictionary) catalogReplacement.getCOSObject())
                .getNameAsString(COSName.VERSION));
    }
}
 
开发者ID:torakiki,项目名称:sambox,代码行数:20,代码来源:IncrementablePDDocumentTest.java


注:本文中的org.sejda.io.SeekableSources类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。