代码之家  ›  专栏  ›  技术社区  ›  Ayush Garg

load(url)不是一个方法

  •  0
  • Ayush Garg  · 技术社区  · 1 年前

    我目前使用的是PDFBox 3.0.1版本,在尝试从URL加载PDF时遇到了挑战。似乎没有为此提供具体的方法。

    以下是我尝试过的代码片段,但它没有按预期运行:

    public void loadPDF(String url, String name) throws IOException {
        PDDocument document = null;
        URL pdfUrl = new URL(url);
        URLConnection urlConnection = pdfUrl.openConnection();
        InputStream ip = urlConnection.getInputStream();
        BufferedInputStream bf = new BufferedInputStream(ip);
        try {
            document = Loader.loadPDF((RandomAccessRead) ip);
        } catch (IOException e) {
            Assert.fail("Could not load PDF. Please check the URL again");
        }
    }
    

    有人能为从PDFBox 3.0.1中的URL加载PDF提供指导或替代方法吗?

    1 回复  |  直到 1 年前
        1
  •  1
  •   Mark Rotteveel    1 年前

    InputStream URLConnection 不执行 org.apache.pdfbox.io.RandomAccessRead ,这样铸造就会失败。

    您需要使用 Loader.loadPDF(RandomAccessReadBuffer.createBufferFromStream(is)) (并取消其结构 BufferedInputStream 因为你不应该需要)。那就行了 Loader.loadPDF(RandomAccessRead) 具有的实例 RandomAccessReadBuffer (它确实实现了 RandomAccessRead ).