1

我正在我的应用程序中pdf使用生成文档itext。我确保从该站点下载 android 版本。

当我在模拟器中运行应用程序(不连接手机)时,生成文档并使用 eclipse 从 SD 卡中提取它"Pull from device",一切正常。当我将应用程序安装(侧载)到手机上并从手机生成 pdf 时,应用程序显示成功消息并在 SD 卡中创建文档。在构建路径时,我还单击了 order 和 export。

我的问题是,当我在手机上创建文档时,当我尝试使用Adobe Reader "The document is empty (size 0KB). 我不知道手机出了什么问题,因为在模拟器中(不连接手机)它工作正常。我已将 jar 添加到构建路径和libs文件夹中。我已经在互联网上浏览了解决方案,但找不到。可能跟我的有关系classpath。我正在使用iText。这是我的代码classpath

<classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry exported="true" kind="lib" path="libs/itextpdf-5.3.4.jar"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

这是我生成pdf的代码:

public void createPDF(String title, String summary, String overview, String marketing, String mgmt, 
          String assets, String financial) {
      String filePath = file + ".pdf";
    try {
      Document document=new Document();

      File root = new File(Environment.getExternalStorageDirectory(), "Plans");
        if (!root.exists()) {
                root.mkdirs();
                }

      File path = new File(root, filePath);         
      PdfWriter.getInstance(document,new FileOutputStream(path));      
      document.open();

      addMetaData(document); //methods i created for the layout of the document
      addTitlePage(document, title);
      addSummary(document, summary);
      addOverview(document, overview);
      addAssets(document, assets);
      addMarketing(document, marketing);
      addManagement(document, mgmt);     
      addFinancial(document, financial);

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

0 回答 0