我正在嘗試向用戶顯示生成的PDF。我正在使用iText來生成pdf。我已經創建了pdf。現在我想查看pdf。我正在嘗試將PDF轉換爲圖像並顯示給用戶。Android - 未找到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)
就可以找到包名爲「com.iText」的庫?這絕對不是iText的正式版本。請讓我們知道你下載的地方。 – 2015-04-04 09:59:44
嗨..現在我仍然在使用'lowagie' ..但是在兩天之前你說這已經過時了。這就是我只是用記事本中的iText代替'lowagie'在這裏發佈。 – Vijay 2015-04-04 10:03:07
如何用'iText'替換'lowagie'使其不再過時? – 2015-04-04 10:05:45