0

我在 stackoverflow 上搜索了有关此主题的问题。他们真的帮助了我,但我又卡住了。

我的问题是我需要编写一个从(www.example.com/abc.pdf)之类的网站下载 pdf 的方法,然后我想读取输出。我不想保存这个文件,只是读入系统。我不需要将字节放入文件输出流。我试图将字节转换为 char 以获取字符(这可能是最愚蠢的解决方案)。但是我得到了未知的字符。有什么想法还是我理解错了?

这是代码及其输出:

String textlink="http://www.selab.isti.cnr.it/ws-mate/example.pdf";// it comes from main class

public String HtmlTest(String textLink) throws IOException{

        StringBuilder sd=new StringBuilder();
        URL link=new URL(textLink);
        URLConnection urlConn = link.openConnection();

         BufferedInputStream in = null;
        try
        {

            in = new BufferedInputStream(urlConn.getInputStream());
            byte data[] = new byte[1024];
            in.read(data, 0, 1024);
        for (int j = 0; j < data.length; j++) {

            if(j%100==0){
            sd.append((char)data[j]+"\n"); // i used this for making readable text
            }
            else{
            sd.append((char)data[j]);
            }

        }
        }
        finally
        {
            if (in != null)
                in.close();
        }
        return sd.toString();

    }

输出

跑:

%
PDF-1.3
%ᅦ↓マᄁ
7 0 obj
<</Length 8 0 R/Filter /FlateDecode>>
stream
xワᆳY[モᅴᄊ○ᄈ&amp;?BoNf,,q%¢ᄐ4￞x&゙6ᄅロlᅮ
ラᄐ￐폐Zeム￲f→チ
4

1 回答 1

0

尝试读取 .pdf 文件,就好像它基本上是一个文本文件一样,您不会走得太远。首先,“文本”是压缩的二进制格式;您可能还必须处理其他问题。

强烈建议:

使用 Java .pdf 库,例如Apache PDFBox

恕我直言>。

于 2013-09-24T20:50:36.397 回答