什么是将html转换为Java中的RTF的最佳方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是将html转换为Java中的RTF的最佳方法相关的知识,希望对你有一定的参考价值。

通过Java swing在Java中将html转换为rtf并没有太大帮助,所以寻找开源库

答案

通过查看标题,您只需从HTML页面获取RTF。因此,您可以使用PD4ML库。首先将此添加到您的pom

<dependency>
      <groupId>com.pd4ml</groupId>
      <artifactId>pd4ml</artifactId>
      <version>4.0.2</version>
    </dependency>

示例

public class Converter {
protected Dimension format = PD4Constants.A4;
protected boolean landscapeValue = false;
protected int topValue = 10;
protected int leftValue = 10;
protected int rightValue = 10;
protected int bottomValue = 10;
protected String unitsValue = "mm";
protected String proxyHost = "";
protected int proxyPort = 0;
protected int userSpaceWidth = 780;

private void runConverter(String urlstring, File output) throws IOException {
    if (urlstring.length() > 0) {
        if (!urlstring.startsWith("http://") && !urlstring.startsWith("file:")) {
            urlstring = "http://" + urlstring;
        }
        java.io.FileOutputStream fos = new java.io.FileOutputStream(output);
        if (proxyHost != null && proxyHost.length() != 0 && proxyPort != 0) {
            System.getProperties().setProperty("proxySet", "true");
            System.getProperties().setProperty("proxyHost", proxyHost);
            System.getProperties().setProperty("proxyPort", "" + proxyPort);
        }
        PD4ML pd4ml = new PD4ML();
        try {
            pd4ml.setPageSize(landscapeValue ? pd4ml.changePageOrientation(format) : format);
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (unitsValue.equals("mm")) {
            pd4ml.setPageInsetsMM(new Insets(topValue, leftValue, bottomValue, rightValue));
        } else {
            pd4ml.setPageInsets(new Insets(topValue, leftValue, bottomValue, rightValue));
        }
        pd4ml.setHtmlWidth(userSpaceWidth);
        pd4ml.render(urlstring, fos);
    }
}
}

希望这会有所帮助。

以上是关于什么是将html转换为Java中的RTF的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

Html 转 Doc(Word) 或 RTF 格式

将 Rtf 转换为 HTML [关闭]

HTML+CSS 到 RTF(在 PHP 中)?

在Java中以美分(整数)转换美元(大十进制)的最佳方法是什么?

如何在 Delphi 中将带有图像的 RichText (RTF) 文档转换为 HTML?

将 RTMP 转换为 MP4 的最佳方法