解析从互联网下载的PDF

时间:2013-09-24 20:44:14

标签: java parsing pdf pdfbox


我在stackoverflow上搜索了有关此主题的问题。他们真的帮了我,但我再次陷入困境。

我的问题是我需要编写一个方法,从(www.example.com/abc.pdf)这样的网站下载pdf然后我想读取输出。我不想保存这个文件,只需在系统中读取即可。我不需要将字节放到fileoutputstream。我试图将字节转换为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[モᅴᄊ○ᄈ&?BoNf,,q%¢ᄐ4￞x&゙6ᄅロlᅮ
ラᄐ￐폐Zeム￲f→チ

1 个答案:

答案 0 :(得分:0)

你不会试图读取.pdf文件,因为它基本上是一个文本文件。对于初学者,“文本”采用压缩二进制格式;还有其他问题你可能还需要处理。

强烈建议:

使用像Apache PDFBox

这样的Java .pdf库

IMHO&GT;