OpenHtmlToPdf 中文显示#

html标签需要添加属性:font-family: 'BabelStoneHan',sans-serif;

pom openhtml.version

      <dependency>
        <groupId>com.openhtmltopdf</groupId>
        <artifactId>openhtmltopdf-core</artifactId>
        <version>${openhtml.version}</version>
      </dependency>

      <dependency>
        <groupId>com.openhtmltopdf</groupId>
        <artifactId>openhtmltopdf-pdfbox</artifactId>
        <version>${openhtml.version}</version>
      </dependency>

      <dependency>
        <groupId>com.openhtmltopdf</groupId>
        <artifactId>openhtmltopdf-java2d</artifactId>
        <version>${openhtml.version}</version>
      </dependency>

      <dependency>
         <groupId>com.openhtmltopdf</groupId>
        <artifactId>openhtmltopdf-rtl-support</artifactId>
        <version>${openhtml.version}</version>
      </dependency>

      <dependency>
        <groupId>com.openhtmltopdf</groupId>
        <artifactId>openhtmltopdf-jsoup-dom-converter</artifactId>
        <version>1.0.0</version>
      </dependency>

      <dependency>
        <groupId>com.openhtmltopdf</groupId>
        <artifactId>openhtmltopdf-slf4j</artifactId>
        <version>${openhtml.version}</version>
      </dependency>

      <dependency>
        <groupId>com.openhtmltopdf</groupId>
        <artifactId>openhtmltopdf-log4j</artifactId>
        <version>1.0.1</version>
      </dependency>

      <dependency>
        <groupId>com.openhtmltopdf</groupId>
        <artifactId>openhtmltopdf-svg-support</artifactId>
        <version>${openhtml.version}</version>
      </dependency>

      <dependency>
        <groupId>com.openhtmltopdf</groupId>
        <artifactId>openhtmltopdf-mathml-support</artifactId>
        <version>${openhtml.version}</version>
      </dependency>

测试代码

    String htmlFile = "/youpath/ppm-2.html";
    String pdflFile = "/youpath/ppm-3.pdf";
    FileOutputStream outputStream = new FileOutputStream(pdflFile);

    try (FileOutputStream fos = new FileOutputStream(pdflFile)) {
      PdfRendererBuilder builder = new PdfRendererBuilder();

      builder.useFont(new File(
              "you-path/fonts/BabelStoneHan.ttf"),
          "BabelStoneHan");
      builder.toStream(fos);
      builder.useFastMode();
      //String html= "<body style=\"font-family: 'BabelStoneHan', sans-serif; font-size: 20px;\">Hello world! <br/> 每星期三 </body>";
          String html = "<html><head><meta charset=\"UTF-8\"></meta></head><body>"
        + "<h1 style =\"font-family: 'BabelStoneHan',sans-serif;\">中文HTML转PDF示例</h1>"
        + "<p>这是一个包含中文的 HTML 内容。</p><br/>"
        + "<table style=\"width:100%; border-collapse: collapse;font-family: 'BabelStoneHan',sans-serif;\">"
        + "<tr><th style=\"border: 1px solid black; padding: 8px;font-family: 'BabelStoneHan',sans-serif;\">表头1</th>"
        + "<th style=\"border: 1px solid black; padding: 8px;\">表头2</th>"
        + "<th style=\"border: 1px solid black; padding: 8px;\">表头3</th></tr>"
        + "<tr><td style=\"border: 1px solid black; padding: 8px;\">数据1</td>"
        + "<td style=\"border: 1px solid black; padding: 8px;\">数据2</td>"
        + "<td style=\"border: 1px solid black; padding: 8px;\">数据3</td></tr>"
        + "</table></body></html>";
      builder.withHtmlContent(
          html,
          null);
      builder.run();
    }

    System.out.println("123");

OpenHtmlToPdf官方地址

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenHTMLtoPDF是一个开源框架,可以将HTML片段转换PDF文件。它的源代码可以在GitHub上找到,地址是https://github.com/danfickle/openhtmltopdf。 在使用OpenHTMLtoPDF时,你需要使用一些相关的JAR文件,如openhtmltopdf-core-0.0.1-RC9.jar、openhtmltopdf-jsoup-dom-converter-0.0.1-RC9.jar、openhtmltopdf-pdfbox-0.0.1-RC9.jar和openhtmltopdf-rtl-support-0.0.1-RC9.jar。这些JAR文件提供了转换和处理PDF所需的功能。 如果你想给PDF文件添加水印,可以使用PDFWatermark方法。这个方法接收三个参数:inputfilepath表示模板路径,outputfilepath表示导出水印背景后的PDF路径,ModelPicName表示水印图片的名称。在方法内部,它使用PdfReader读取输入的PDF文件,然后使用PdfStamper在输出路径上创建一个新的PDF文件。通过设置PdfGState的FillOpacity属性,可以调整水印的透明度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [openhtmltopdf 简单使用](https://blog.csdn.net/hgx2014/article/details/88849482)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [开源库 openhtmltopdfhtml 转 为 pdf 页面优化](https://download.csdn.net/download/yangyouchang/87270584)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [.NET/C#下htmlPDFPDF加水印,PDF转图片](https://blog.csdn.net/u011301348/article/details/106250692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值