0

我正在尝试使用 ICEpdf 在 JFrame 中显示远程 pdf。我从他们的网站上复制了代码以开始使用,即:

import org.icepdf.ri.common.SwingViewBuilder;
import org.icepdf.ri.common.MyAnnotationCallback;

import javax.swing.*;
class ViewerComponentExample {
    public static void main(String[] args) {
        // Get a file from the command line to open
        String filePath = "http://www.orimi.com/pdf-test.pdf";

        // build a component controller
        SwingController controller = new SwingController();

        SwingViewBuilder factory = new SwingViewBuilder(controller);

        JPanel viewerComponentPanel = factory.buildViewerPanel();


        JFrame applicationFrame = new JFrame();
        applicationFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        applicationFrame.getContentPane().add(viewerComponentPanel);

        // Now that the GUI is all in place, we can try openning a PDF
        controller.openDocument(filePath);

        // show the component
        applicationFrame.pack();
        applicationFrame.setVisible(true);
    }
}

但我收到以下错误:

ICEpdf could not open the specified file at http://www.icepdf.org/resources/DevelopersGuide.pdf. 
The file may be corrupted or not a supported file type.

我正在使用icepdf-core.jar 和icepdf-viewer.jar。我需要其他 jar 文件来打开远程 pdf 吗?我也无法在他们的论坛上提出任何问题。我看不到任何链接可以在那里问我自己的问题。

如果有人用过这个东西,请告诉我如何解决这个错误。

编辑

我可以使用java org.icepdf.ri.viewer.Main -loadurl http://www.orimi.com/pdf-test.pdf他们文档中所述的命令打开远程文件,但是当我尝试通过程序打开它时它失败了。

谢谢!

4

1 回答 1

0

好的。得不到帮助。所以我决定自己做。你不会在任何地方得到它。即使在他们的文档中。所以这是使用icepdf打开远程pdf文件需要做的事情。

try{URL url=new URL("http://www.orimi.com/pdf-test.pdf");
   controller.openDocument(url);

我意识到 SwingController 类中有两种重载方法,一种将字符串作为参数(用于打开本地 pdf 文件),另一种用于打开远程 pdf,它接受 URL 对象。

于 2020-04-24T12:17:52.013 回答