本帖最后由 tdiant 于 2023-3-31 11:05 编辑
如图,我使用Github Action自动进行了Docusaurus的pdf转换。
一切运行正常, 但pdf中中文乱码。
我猜测是因为Github Action环境下没有中文字体导致的
不知道这种情况如何解决。
项目地址:
https://github.com/Neige7/NeigeItems-Wiki-Docusaurus

如图,我使用Github Action自动进行了Docusaurus的pdf转换。
一切运行正常, 但pdf中中文乱码。
我猜测是因为Github Action环境下没有中文字体导致的
不知道这种情况如何解决。
项目地址:
https://github.com/Neige7/NeigeItems-Wiki-Docusaurus
ubuntu默认应该是有中文字体的,你应该把重点放在 docusaurus-prince-pdf 的配置上
结冰的离季 发表于 2023-2-26 10:09
ubuntu默认应该是有中文字体的,你应该把重点放在 docusaurus-prince-pdf 的配置上 ...
我一开始以为是docusaurus-prince-pdf的问题,然后我windows生成了一下,没有问题。我昨天尝试在github action中安装中文字体,安装后仍然是乱码。现在我正在尝试虚拟机中使用ubuntu运行docusaurus-prince-pdf检验结果
Neige 发表于 2023-2-26 10:12
我一开始以为是docusaurus-prince-pdf的问题,然后我windows生成了一下,没有问题。我昨天尝试在github a ...
同一个软件不同平台的实现有差异很正常,一般都会在文档里写明的
结冰的离季 发表于 2023-2-26 13:46
同一个软件不同平台的实现有差异很正常,一般都会在文档里写明的
折腾了一天,结果是我通过.css文件指定body的font后除了标题以外的中文正常了,但是标题无论怎么设置都还是乱码(设置h1/h2/h3/h4也不生效)。
我中间还试过在windows-latest的环境下跑,结果就是开始的取目录环节正常,后面的根据目录爬取页面文件就起手一个Failure when receiving data from the peer。
感觉人生没有了意义,决定放弃自动化生成pdf,手动生成吧。
本帖最后由 结冰的离季 于 2023-2-26 23:04 编辑
要不你试试 Wkhtmltopdf,工具不行咱换一个,不受这罪
https://nuxnik.com/docusaurus-pdf-generator/
https://github.com/nuxnik/docusaurus-wkhtmltopdf
本来想给你踩踩坑的,结果我服务器访问github 0.05k的速度到现在还在跑
好的,试错完毕,报错了
Neige 发表于 2023-2-26 21:29
折腾了一天,结果是我通过.css文件指定body的font后除了标题以外的中文正常了,但是标题无论怎么设置都还 ...
要不你试试 Wkhtmltopdf,工具不行咱换一个,不受这罪
https://nuxnik.com/docusaurus-pdf-generator/
https://github.com/nuxnik/docusaurus-wkhtmltopdf
本来想给你踩踩坑的,结果我服务器访问github 0.05k的速度到现在还在跑
好的,试错完毕,报错了
结冰的离季 发表于 2023-2-26 21:54
要不你试试 Wkhtmltopdf,工具不行咱换一个,不受这罪
https://nuxnik.com/docusaurus-pdf-generator/
htt ...
我发现你之前用的那个的 docker版报错,把他报错解决再加上中文字体应该就能用了,这得改他的镜像,有空我搞个
本帖最后由 结冰的离季 于 2023-3-1 22:41 编辑
我基于你使用的项目重新构建了个docker镜像 https://github.com/Iseason2000/docusaurus-prince-pdf-docker
并默认支持 CJK 字符集和 emoji , 且可以自定义字体
拿 adyeshach 和 invero 试了一下,虽然有点小问题,但大体还行 https://t.wss.ink/f/ameef67ipvi
原项目的docker镜像完全不可用,alpine 默认是 musl 而 prince 运行 需要 glibc 运行库,所以我改为debian了
我之前发的另外一个项目没有渲染css的能力
另外你之前只有标题字体乱码的原因是通过 css 覆盖 字体需要加 !important 来提高优先级才能覆盖子元素的字体
复制代码
我基于你使用的项目重新构建了个docker镜像 https://github.com/Iseason2000/docusaurus-prince-pdf-docker
并默认支持 CJK 字符集和 emoji , 且可以自定义字体
拿 adyeshach 和 invero 试了一下,虽然有点小问题,但大体还行 https://t.wss.ink/f/ameef67ipvi
原项目的docker镜像完全不可用,alpine 默认是 musl 而 prince 运行 需要 glibc 运行库,所以我改为debian了
我之前发的另外一个项目没有渲染css的能力
另外你之前只有标题字体乱码的原因是通过 css 覆盖 字体需要加 !important 来提高优先级才能覆盖子元素的字体
- * {
- font-family: "NotoSansCJK", "Noto Color Emoji" !important;
- }
结冰的离季 发表于 2023-3-1 22:33
我基于你使用的项目重新构建了个docker镜像 https://github.com/Iseason2000/docusaurus-prince-pdf-docker ...
太感动了呜呜呜,谢谢帮助
本帖最后由 Neige 于 2023-3-1 23:09 编辑
docker确实有问题,我之前跑不起来,是用的npx转换的pdf。
我之前的解决逻辑是先用它自带的生成,让他随便先生成出来乱码版本。然后用它扒下来的索引txt调用prince直接用我的css文件生成pdf
结冰的离季 发表于 2023-2-26 23:48
我发现你之前用的那个的 docker版报错,把他报错解决再加上中文字体应该就能用了,这得改他的镜像,有空 ...
docker确实有问题,我之前跑不起来,是用的npx转换的pdf。
我之前的解决逻辑是先用它自带的生成,让他随便先生成出来乱码版本。然后用它扒下来的索引txt调用prince直接用我的css文件生成pdf
Neige 发表于 2023-3-1 23:08
docker确实有问题,我之前跑不起来,是用的npx转换的pdf。
我之前的解决逻辑是先用它自带的生成,让他随便 ...
它的链接爬取基于css选择器的,刚刚想爬一下ia的文档结果它的css混淆的,刷新一次就变化= =
所以文档最好不要压缩