Android - 找不到PDF标题签名

时间:2015-04-04 09:45:28

标签: android pdf itext

我正在尝试向用户显示生成的pdf。我正在使用iText生成pdf。我创建了pdf。现在我想查看pdf。我正在尝试将pdf转换为图像并显示给用户。

public void makeImageFromPDF() throws DocumentException, IOException {

        String INPUTFILE = Environment.getExternalStorageDirectory()
                .getAbsolutePath() + "/iText/sample.pdf";

        String OUTPUTFILE = Environment.getExternalStorageDirectory()
                .getAbsolutePath() + "/iText/sample1.pdf";

        Document document = new Document();
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE));
        document.open();
        System.out.println("............1");
        System.out.println("............INPUTFILE==> "+INPUTFILE);
        PdfReader reader = new PdfReader(INPUTFILE);
        System.out.println("............2");
        int n = reader.getNumberOfPages();
        PdfImportedPage page;
        for (int i = 1; i <= n; i++) {
            page = writer.getImportedPage(reader, i);
            Image instance = Image.getInstance(page);

            byteArray = reader.getPageContent(1);
        }
        document.close();

    }

但我收到运行时错误PDF header signature not found

我在这一行得到了他的错误。PdfReader reader = new PdfReader(INPUTFILE);

请告诉我如何解决此问题。让我以任何其他方式查看pdf。

04-04 09:24:29.326: W/System.err(12102): java.io.IOException: PDF header signature not found.
04-04 09:24:29.326: W/System.err(12102):    at com.iText.text.pdf.PRTokeniser.checkPdfHeader(PRTokeniser.java:201)
04-04 09:24:29.326: W/System.err(12102):    at com.iText.text.pdf.PdfReader.readPdf(PdfReader.java:490)
04-04 09:24:29.326: W/System.err(12102):    at com.iText.text.pdf.PdfReader.<init>(PdfReader.java:165)
04-04 09:24:29.337: W/System.err(12102):    at com.iText.text.pdf.PdfReader.<init>(PdfReader.java:154)
04-04 09:24:29.337: W/System.err(12102):    at com.example.MainActivity.makeImageFromPDF(MainActivity.java:283)
04-04 09:24:29.337: W/System.err(12102):    at com.example.MainActivity.NewDesingTest(MainActivity.java:262)
04-04 09:24:29.337: W/System.err(12102):    at com.example.MainActivity.createNewPdf(MainActivity.java:131)
04-04 09:24:29.337: W/System.err(12102):    at com.example.MainActivity$1.onClick(MainActivity.java:81)
04-04 09:24:29.337: W/System.err(12102):    at android.view.View.performClick(View.java:4204)
04-04 09:24:29.337: W/System.err(12102):    at android.view.View$PerformClick.run(View.java:17355)
04-04 09:24:29.347: W/System.err(12102):    at android.os.Handler.handleCallback(Handler.java:725)
04-04 09:24:29.356: W/System.err(12102):    at android.os.Handler.dispatchMessage(Handler.java:92)
04-04 09:24:29.356: W/System.err(12102):    at android.os.Looper.loop(Looper.java:137)
04-04 09:24:29.356: W/System.err(12102):    at android.app.ActivityThread.main(ActivityThread.java:5041)
04-04 09:24:29.367: W/System.err(12102):    at java.lang.reflect.Method.invokeNative(Native Method)
04-04 09:24:29.376: W/System.err(12102):    at java.lang.reflect.Method.invoke(Method.java:511)
04-04 09:24:29.376: W/System.err(12102):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-04 09:24:29.386: W/System.err(12102):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-04 09:24:29.386: W/System.err(12102):    at dalvik.system.NativeStart.main(Native Method)

1 个答案:

答案 0 :(得分:0)

您没有将文件名传递给Document构造函数,因此它创建了一个没有信息的新文档。所以它没有标题。如果您正在阅读pdf文件以将其转换为图像,则根本不需要pdf编写器。你的代码真的很困惑。

摆脱文档以及PdfWriter的所有提及。用PdfReader

做部件