【问题标题】:How to convert Html page to Pdf in android studio如何在android studio中将Html页面转换为Pdf
【发布时间】:2021-12-12 10:44:04
【问题描述】:

我知道之前有人问过这个问题,但我仍然无法将 HTML 文件转换为 pdf。我尝试了互联网上提供的一些解决方案,但它们已经过时了。如果有人可以帮助我解决我的问题,那将是一个很大的帮助。我正在使用以下代码行保存 HTML 文件。

 String directory_path = String.valueOf(getApplicationContext().getExternalFilesDir(null));
        File file = new File(directory_path);
        if (!file.exists()) {
            file.mkdirs();
        }
        String targetPdf = directory_path+"myFile.html";
        File filePath = new File(targetPdf);

        String html = Html.toHtml(text.getText());

        try {
            FileOutputStream out = new FileOutputStream(filePath);
            byte[] data = html.getBytes();
            out.write(data);
            out.close();
            Log.e(TAG, "File Save : " + filePath.getPath());
            Toast.makeText(this,"Saved in "+filePath.getPath(),Toast.LENGTH_SHORT).show();


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

【问题讨论】:

  • 您永远不会在该代码中将任何内容转换为 PDF。您正在获取 HTML,将其转换为 Android Spannable(只会转换少量的 html),然后将其作为文本写入文件。更糟糕的是,您甚至没有正确地将其写为文本(getBytes 不是您这样做的方式)。你需要找到一个可以做到这一点的库,如果不是几年的话,你自己编写它需要几个月的开发工作。
  • 我在编辑文本中接受用户的输入,然后在所选文本上应用一些功能,如粗体和斜体。然后,我将该可扩展字符串存储在 html 中。现在我需要将该html文件转换为pdf。我试图找到一些库来完成上述所有功能,但没有找到。你能给我推荐一个图书馆吗?

标签: java android html pdf converters


【解决方案1】:

试试这个代码:

PdfConverter converter = PdfConverter.getInstance();
String directory_path = Environment.getExternalStorageDirectory().toString();
File file = new File(directionPath, "name_file.pdf");
String htmlString = "<html><body><p>Hello World</p></body></html>";
converter.convert(getContext(), htmlString, file);

点击 here添加文件PdfConverter

【讨论】:

  • 它在 PdfConverter 上给出错误。
  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 2011-07-01
  • 1970-01-01
  • 2012-05-28
  • 1970-01-01
相关资源
最近更新 更多