如何使用PDFClown将图片添加到pdf文件

How to add picture to pdf file using PDFClown

我使用 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);

请告诉我哪里出了问题?

我刚刚尝试重现您的问题:

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)

我没有得到 EOFException,结果看起来符合预期:

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