6

我使用 PDFClown .jar 库将 jpeg 图像转换为 pdf 文件。但是,我收到以下错误:

java.lang.RuntimeException: java.io.EOFException

在这里你可以找到代码:

org.pdfclown.documents.contents.entities.Image image = 
org.pdfclown.documents.contents.entities.Image.get("c:" + java.io.File.separator + "bg.jpg");
org.pdfclown.documents.contents.xObjects.XObject imageXObject = image.toXObject(document);
composer.showXObject(imageXObject);                 
composer.flush();       
document.getFile().save("c:\\test.pdf" , SerializationModeEnum.Standard);

请让我知道出了什么问题?

4

1 回答 1

1

我只是试图重现您的问题:

public void testAddPicture() throws IOException
{
    org.pdfclown.files.File file = new org.pdfclown.files.File();

    Page page = new Page(file.getDocument());
    file.getDocument().getPages().add(page);
    PrimitiveComposer primitiveComposer = new PrimitiveComposer(page);

    Image image = Image.get("src\\test\\resources\\mkl\\testarea\\pdfclown0\\content\\Willi-1.jpg");
    XObject imageXObject = image.toXObject(file.getDocument());
    primitiveComposer.showXObject(imageXObject, new Point2D.Double(100,100), new Dimension(300, 300));                 

    primitiveComposer.flush();

    file.save(new File(RESULT_FOLDER, "PdfWithImage.pdf"), SerializationModeEnum.Standard);
    file.close();
}

( ShowImage.java )

我得到 no EOFException,而是结果看起来像预期的那样:

生成的带有图像的 PDF 的屏幕截图

因此,问题似乎与您的 JPG 文件有关,其内容可能已损坏或超出 PdfClown 的 JPG 支持,或者可能是文件系统权限相关问题。

于 2015-12-21T11:00:13.833 回答