当前位置: 首页 > 知识库问答 >
问题:

使用iText生成PDF文件时出现问题

松智勇
2023-03-14

这段代码第一次可以运行得很好,但是当我第二次运行app时,它不会立即生成PDF文件

 private void savepdf() {
    Document doc=new Document();
    String mfile=new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(System.currentTimeMillis());
    String mfilepath= Environment.getExternalStorageDirectory()+"/"+mfile+".pdf";

    Font recipeTitle=new Font(Font.FontFamily.TIMES_ROMAN,20,Font.BOLD);
    Font smallBold=new Font(Font.FontFamily.TIMES_ROMAN,12,Font.BOLD);
    try{
        PdfWriter.getInstance(doc,new FileOutputStream(mfilepath));
        doc.open();
        String mtext=foodTitle.getText().toString();
        String mtext2 = foodIngredient.getText().toString();
        String mtext3 = foodDescription.getText().toString();

        doc.add(new Paragraph("Title:"+ mtext,recipeTitle));
        doc.add(new Paragraph("Ingredient",recipeTitle));
        doc.add(new Paragraph(mtext2,smallBold));
        doc.add(new Paragraph("Description",recipeTitle));
        doc.add(new Paragraph(mtext3,smallBold));
        doc.close();
        Toast.makeText(this, ""+mfile+".pdf"+" is saved to "+mfilepath, Toast.LENGTH_SHORT).show();
    }
    catch (Exception e)
    {
        Toast.makeText(this,"This is Error msg : " +e.getMessage(), Toast.LENGTH_SHORT).show();
    }
}

共有1个答案

宫瀚
2023-03-14

尝试关闭您的文档并捕获异常。我认为程序正在抛出异常

 private void savepdf() throws FileNotFoundException, DocumentException {
 类似资料:
  • 当尝试使用将文件转换为文件时,会出现以下异常: RuntimeException:Scanline必须以EOL代码字开头。在com.itextpdf.text.pdf.codec.tifffaxdecoder.readeol(tifffaxdecoder.java:1303),在com.itextpdf.text.pdf.codec.tifffaxdecoder.decode2d(tifffaxd

  • 问题内容: 我试图将XML数据从网页转换为PDF文件,希望能完全在JavaScript中完成。我需要能够绘制文本,图像和简单形状。我希望能够完全在浏览器中做到这一点。 问题答案: 示例创建一个“ Hello World” PDF文件。

  • 我正在使用iText生成一些PDF,这些PDF有一些中文字符(简体中文-GB2312),但是我无法用这些字符生成PDF。 谁能告诉我哪里错了? 我尝试使用各种创作形式,但没有成功: 有人能帮我吗? 添加问题,这是我当前的测试代码:

  • 我想把一些HTML内容转换成PDF文件。我面临的问题是HTML内容有一些标记,这些标记带有绝对图像URL。因此 是否有一种方法可以避免这种情况下的例外,并生成一个没有任何图像的pdf? 我使用的是IText-5.0.5库。

  • 我想用外部资源(jpg、css)从html创建pdf。 这是用于生成pdf File对象的代码,带有Flie Saucer和itext: 不幸的是,所有与https链接的资源都被忽略,而超文本传输协议资源运行良好。 编辑: 我扩展了iTextureAgent以拦截https调用资源,但出现了以下错误: 太阳安全供应商。证书路径。SunCertPathBuilderException:无法找到请求目

  • 我知道如何生成单个超文本标记语言页面。我想知道如何从多个超文本标记语言页面生成的pdf生成单个pdf页面。 例如,有和另一个文件我可以生成单独的pdf文件和分别来自html。我可以将它们写入文件系统,然后像iTextConcatenate示例中那样连接它们。 我只是想知道我是否可以在不将它们写入文件系统的情况下动态地组合此操作。我无法识别丢失的链接