Itext生成pdf文件,html转pdf时中文一直显示不出来

 之前使用freemark模板渲染ftl页面,转出的pdf中,css2的很多样式好像不支持
改造成使用html页面来转pdf,css2的样式可以生效,itext是不支持css3的弹性布局的

ITextRenderer pdfRenderer = new ITextRenderer();
            // 添加字体设置
            ITextFontResolver fontResolver = pdfRenderer.getFontResolver();
          /*  fontResolver.addFont("C:/Windows/Fonts/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
            fontResolver.addFont("C:/Windows/Fonts/simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
*/
            try {
                fontResolver.addFont("C:/Windows/Fonts/simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

                /*String path = ResourceUtil.getResourceObj("classpath:/fonts/SimSun.ttf").getUrl().getPath();
                *//*fontResolver.addFont(path, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);*//*
                fontResolver.addFont(path, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
*/
            } catch (Exception e) {
                log.error(e.getMessage(),e);
            }

            pdfRenderer.setDocumentFromString(createXHtml(rowsHtml));
           /* File f= getFileFromResources();
            pdfRenderer.setDocument(f);*/
            pdfRenderer.layout();
            pdfRenderer.createPDF(outputStream);

尝试好多种方式,最后可能是跟字体有关系

字体设置为C:/Windows/Fonts/simhei.ttf  黑体,同时html页面上样式要添加

body {
    font-family: SimHei;
}

pdf生成方式参考项目:E:\myfiles\project\github\demo-html2pdf

字体问题参考文章:https://blog.51cto.com/u_15127651/4527950

最后完美解决字体问题!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/394742.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序 点击右上角三个点 当前页面未设置分享

js文件中添加 //用户点击右上角分享朋友圈 onShareTimeline () { },

RSA加密解密(二)——用shell加密后java无法解密的问题

我们需要用shell生成加密原文数据,存入mysql中,然后用java取出mysql中的加密数据并解密出原文。 这个任务中遇到的最大问题是,用shell进行base64编码后的加密数据,无法被java的解密程序解密,会报错。 Exception in t…

访问学者感谢信|人文社科工作者赴北欧访学

编者按:这位访问学者从委托我们申请到获得邀请函只用了一个月时间。为了表达感激之情,其当时就写了这封感谢信,但依据我们的惯例,一般是待申请者出国,一切安排妥当后再发成功案例。所以时至今日,才将该申请…

统计图柱形图绘制方法

统计图柱形图绘制方法 常用的统计图有条形图、柱形图、折线图、曲线图、饼图、环形图、扇形图。 前几类图比较容易绘制,饼图环形图绘制较难。 今提供条形图和柱形图的绘制方法,附加环形图和艺术环图的绘制方法供参考。 本方法采用C语言的最基本功能&…

PCL 计算点云AABB包围盒的体积

目录 一、AABB包围盒二、代码实现三、结果展示四、相关链接本文由CSDN点云侠原创,原文链接。爬虫自重,把自己当个人。 一、AABB包围盒 AABB包围盒又称了 轴对齐包围盒,是点云包围盒里最简单的一种,其计算方法也极其简单。获取包围盒之后,根据包围盒的长宽高进行体积计算即…

电销机器人是如何进行工作的

ai电销机器人,主要是解决电销企业筛选客户问题。 我们会帮你搭建好电销后台,你使用的时候只需要导入客户手机号,设置外呼时间,系统就可以帮你自动拨打电话,并把打出来的意向客户自动推送到你的微信上面。非常方便快捷…

在C++使用OpenCV库创建一个带滚动条的窗口,用于动态调整图像的亮度

QuickDemo.cpp #include<quick_opencv.h>//创建一个带滚动条的窗口&#xff0c;用于动态调整图像的亮度 static void on_track(int position, void* userdata) //回调函数:当滚动条的位置改变时被自动调用的回调函数 //position:滚动条的当前位置; userdata:用户提供的数…

Eclipse 创建 Hello World 工程

Eclipse 创建 Hello World 工程 1. Hello WorldReferences Download and install the Eclipse IDE. 1. Hello World Eclipse -> double click -> Launch 单击蓝色方框 (右上角) 最大化 IDE File -> New -> C Project -> Finish Project name&#xff1a;工程名…

办公记事常用工具:桌面记事本助你高效记事

在繁忙的办公环境中&#xff0c;我常常感到自己的大脑像是一个不停旋转的陀螺&#xff0c;各种待办事项、会议安排和灵感想法在脑海中交织&#xff0c;仿佛随时都要迸发出来。然而&#xff0c;只靠人脑记忆&#xff0c;不仅辛苦&#xff0c;而且容易出错。在这样的背景下&#…

Unity之闪电侠大战蓝毒兽

目录 &#x1f3a8;一、创建地形 &#x1f3ae;二、创建角色 &#x1f3c3;2.1 动画 &#x1f3c3;2.2 拖尾 &#x1f3c3;2.3 角色控制 ​&#x1f3c3;2.4 技能释放 &#x1f3c3;2.5 准星 &#x1f4f1;三、创建敌人 &#x1f432;3.1 选择模型 &#x1f432;3.…

基于Arduino UNO设计一个温控制系统

目录 概述 1 硬件结构 1.1 整体硬件介绍 1.2 硬件连接结构 2 软件设计 2.1 软件功能介绍 2.2 关于Arduino的一些知识点 2.2.1 定时器 2.2.2 PWM 2.3 代码实现 2.3.1 编译工具 2.3.2 详细代码 3 测试 3.1 温度数据监控 3.2 温控测试 概述 本文介绍如何使用Ardui…

深度学习(16)--基于经典网络架构resnet训练图像分类模型

一.项目介绍 使用PyTorch工具包调用经典网络架构resnet训练图像分类模型&#xff0c;用于分辨不同类型的花 二.项目流程详解 2.1.引入所需的工具包 import os import matplotlib.pyplot as plt # %matplotlib inline import numpy as np import torch from torch import nn …

三防平板丨平板终端丨加固平板丨户外勘测应用

随着科技的不断发展&#xff0c;现代勘测业也在不断升级。相较于传统的勘测设备&#xff0c;三防平板在户外勘测中有着广泛的应用。那么&#xff0c;三防平板在户外勘测中究竟有哪些优势呢&#xff1f; 首先&#xff0c;三防平板具备极强的防水、防尘、防摔能力。在野外勘测中&…

android studio模拟器不能打开

Andriod:The selected AVD is currently running in the Emulator. Please exit the emulator instance… 1.点击 2.删除下面文件 3.重新打开即可 参考

【XR806开发板试用】 UART串口通信篇

目录&#xff1a; 一. 环境配置 二. 串口通信 三. oled显示 总结&#xff1a;源码中有头文件及例子等。 一.环境配置 在https://aijishu.com/a/1060000000286755中已经写好。 二.UART串口通信 2.1 简单介绍 通用异步收发传输器&#xff08;Universal Asynchronous Receiv…

[Angular 基础] - 视图封装 局部引用 父子组件中内容传递

[Angular 基础] - 视图封装 & 局部引用 & 父子组件中内容传递 之前的笔记&#xff1a; [Angular 基础] - Angular 渲染过程 & 组件的创建 [Angular 基础] - 数据绑定(databinding) [Angular 基础] - 指令(directives) 以上为静态页面&#xff0c;即不涉及到跨组…

APP出海类型有哪些?流量主如何选择广告变现平台?

APP出海成了目前的新趋势&#xff0c;对开发者而言&#xff0c;广告策略和流量分配的方法上也面临着诸多挑战。 一、APP出海类型 01、游戏类应用 游戏类应用是移动应用出海中最受欢迎的类型之一。这类应用通常具有较高的娱乐性和互动性&#xff0c;能够吸引大量用户下载和使…

Eclipse - Expressions Add Watch Expression

Eclipse - Expressions & Add Watch Expression References Window -> Show View -> Other… Show View -> Debug -> Expressions -> Open Debug 模式下出现 Expressions 窗口 Debug 模式下&#xff0c;如果需要查看指定变量或者返回函数的值&#xff0c;直…

区块链技术和Hyperledger Fabric介绍

1 区块链介绍 1.1 区块链技术形成 1.1.1 起源 在比特币诞生之时&#xff0c;技术专家们开始研究比特币的底层技术&#xff0c;并抽象提取出来&#xff0c;形成区块链技术&#xff0c;或者称分布式账本技术。 1.1.2 定义 简称BT&#xff08;Blockchain technology&#xff…

跨境电商无货源如何实现自动化对接1688货源商品上架?1688商品采集API来帮你

阿里巴巴集团旗下的B2B电子商务网站&#xff0c;提供海量优质商品&#xff0c;为采购商和供应商提供交流、合作、采购等服务&#xff0c;是很多没有货源优势的电商卖家首选的货源途径&#xff0c;也是国内最大、货源种类最齐全的货源网站。 不少做跨境电商无货源的朋友都想要直…