2016-04-20 98 views
1

我正在構建一個android應用程序,我想使用itext創建pdf文件,但我無法使用Document類。正如我在教程中看到的那樣,應該使用導入com.itextpdf.text.Document來使用Document類。對於這個應用程序,我使用com.itextpdf:itext-pdfa:5.5.9庫。我想創建一個2段一個簡單的PDF文件,這樣的事情:我無法導入com.itextpdf.text.Document類

try{ 
     File pdfFolder = new File(Environment.getExternalStoragePublicDirectory(
       Environment.DIRECTORY_DOCUMENTS), "pdfdemo"); 
     if (!pdfFolder.exists()) { 
      pdfFolder.mkdir(); 
     } 

     Date date = new Date() ; 
     String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(date); 

     File myFile = new File(pdfFolder + timeStamp + ".pdf"); 

     OutputStream output = new FileOutputStream(myFile); 

     Document document = new Document(); 

     PdfAWriter.getInstance(document, output); 

     document.open(); 

     document.add(new Paragraph(mSubjectEditText.getText().toString())); 
     document.add(new Paragraph(mBodyEditText.getText().toString())); 

     document.close(); 
    }catch (Exception e) {} 

'

誰能幫我解決這個問題?我究竟做錯了什麼?

+0

是否有錯誤消息?導入失敗了嗎? –

+0

@ J.Dow該類存在於iText中:https://github.com/itext/itextpdf/blob/develop/itext/src/main/java/com/itextpdf/text/Document.java問題很簡單: OP使用庫的插件而不是實際的庫。 –

+0

那麼,代碼不包括項目設置和導入語句,所以我只是想確保一切都到位。還有http://developer.android.com/reference/org/w3c/dom/Document.html;) –

回答

3

你說:

我使用com.itextpdf:itext-pdfa:5.5.9

這是不對的,原因有二:

  1. itext-pdfa是一個插件iText的一個,就是寫入或操縱PDF/A文件。它需要核心iText庫。在官方網站上閱讀iText的不同部分:http://developers.itextpdf.com/itext-java
  2. 你說你想在Android上使用iText,但是你指的是iText for Java。 iText for Java包含Android上不允許的類(java.awt.*javax.nio,...)。你應該使用Android端口iText的,這就是所謂iTextG:http://developers.itextpdf.com/itextg-android

這是因爲如果你使用的iText,而不必訪問官方iText站點。這怎麼可能呢?