java - 如何在不下载的情况下从 url 读取 pdf?

标签 java swing url pdf

我试图在不下载的情况下从 url 读取 pdf,然后我试图将其展平。

这是代码:

import java.io.FileOutputStream;

import com.lowagie.text.pdf.AcroFields;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;

public class FormFillAndMakeItFlattenPDF {
   public static void main(String[] args) {
      try {
         PdfReader reader = new PdfReader("http://www.irs.gov/pub/irs-pdf/fw4.pdf");
         PdfStamper stamp2 = new PdfStamper(reader, new FileOutputStream("C:\\Flattened.pdf"));
         AcroFields form2 = stamp2.getAcroFields();
         stamp2.setFormFlattening(true);
         stamp2.close();
      }
      catch (Exception de) {
         de.printStackTrace();
      }
   }
}

但是,这是抛出一个错误/异常。这是堆栈跟踪:

    java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:352)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:214)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:201)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:377)
    at java.net.Socket.connect(Socket.java:530)
    at java.net.Socket.connect(Socket.java:480)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:406)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:541)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:245)
    at sun.net.www.http.HttpClient.New(HttpClient.java:318)
    at sun.net.www.http.HttpClient.New(HttpClient.java:335)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:832)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:773)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:698)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1021)
    at java.net.URL.openStream(URL.java:1009)
    at com.lowagie.text.pdf.RandomAccessFileOrArray.<init>(Unknown Source)
    at com.lowagie.text.pdf.RandomAccessFileOrArray.<init>(Unknown Source)
    at com.lowagie.text.pdf.PRTokeniser.<init>(Unknown Source)
    at com.lowagie.text.pdf.PdfReader.<init>(Unknown Source)
    at com.lowagie.text.pdf.PdfReader.<init>(Unknown Source)
    at FormFillAndMakeItFlattenPDF.main(FormFillAndMakeItFlattenPDF.java:18)

谁能告诉我,我做错了什么?

最佳答案

如果问题是由于代理引起的,请在应用程序启动时调用它。

System.setProperty("http.proxyHost", Config.PROXY_HOST);
System.setProperty("http.proxyPort", Config.PROXY_PORT);

将 Config.X 更改为系统值的位置。

注意:对于 https,您需要添加与 https.proxyHost 和 https.proxyPort 类似的行

关于java - 如何在不下载的情况下从 url 读取 pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13340569/

相关文章:

java - JOptionPane 中的文本换行?

java - 扩展 Swing 的 UndoManager 以提供重复和多个撤消/重做

带有特殊字符的 Php 脚本 url

java - 具有多个 swing UI 的 EventQueue.invokeLater

Java透明面板和面板上的自定义效果

c - 如何使用 C 从 www 获取页面的 HTML 代码?

node.js - http请求的for循环延迟

java - 如何在BIRT中将字符串拆分为字符数组?

java - Tomcat 上的虚拟主机

java - 哪个提供商负责 AES/CTR/NoPadding?