Не удается открыть удаленный PDF с помощью ICEpdf - PullRequest
1 голос
/ 24 апреля 2020

Я пытаюсь отобразить удаленный PDF в JFrame, используя ICEpdf. Для начала я скопировал код с их сайта:

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, как указано в их документах, но он не работает, когда я пытаюсь открыть его через программу.

Спасибо!

1 Ответ

0 голосов
/ 24 апреля 2020

Okk. Не получить помощь. Поэтому я решил сделать это сам. Вы не получите это нигде. Даже в их документации. Вот что нужно сделать, чтобы открыть удаленный файл PDF с помощью icepdf.

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

Я понял, что в классе SwingController есть два метода перегрузки, один из которых принимает строку в качестве аргумента (для открытие локальных файлов PDF) и еще один для открытия удаленных файлов PDF, который принимает объект URL.

...