Javascript 是否有提供可调dpi、可选文本和CSS支持的HTML到PDF呈现器?
我正在为一个使用Vue的客户创建规格表,需要制作可查看和可打印的PDF 我曾经尝试过Puppeter,但从我在网上遇到的情况来看(如果我错了,请纠正我),Puppeter不支持可选文本,也不支持调整PDF的DPI。我也有一个问题,木偶渲染PDF在低质量-字体模糊/没有抗锯齿 有什么(如果有的话)PDF渲染器会Javascript 是否有提供可调dpi、可选文本和CSS支持的HTML到PDF呈现器?,javascript,php,c++,pdf,pdf-generation,Javascript,Php,C++,Pdf,Pdf Generation,我正在为一个使用Vue的客户创建规格表,需要制作可查看和可打印的PDF 我曾经尝试过Puppeter,但从我在网上遇到的情况来看(如果我错了,请纠正我),Puppeter不支持可选文本,也不支持调整PDF的DPI。我也有一个问题,木偶渲染PDF在低质量-字体模糊/没有抗锯齿 有什么(如果有的话)PDF渲染器会 将HTML页面呈现为PDF* 支持可选文本* 允许可调的DPI* CSS支持*(即它将呈现CSS) 可以接受URL作为参数 允许多页 并在Node/Javascript中运行(可选)
- 将HTML页面呈现为PDF*
- 支持可选文本*
- 允许可调的DPI*
- CSS支持*(即它将呈现CSS)
- 可以接受URL作为参数
- 允许多页
- 并在Node/Javascript中运行(可选)
JavaScript似乎没有这样的包,所以如果PHP或C++中有一个包,它也会被考虑。
我找到的最好的解决方案是。你可以找到一个现场演示。它使用了Phantom JS,似乎支持我需要的所有功能,除了我还没有测试过的分页符
下一个障碍是找出如何提取必要的函数,这样我就可以使用脚本中的功能,而不必传递GET查询字符串(这值得我提出自己的问题) 编辑:我没有意识到的一个问题是,似乎没有办法延迟生成PDF,这是一个问题,因为我使用的是Vue,页面必须首先生成 编辑2020: 自从这篇文章发表后,我又重温了《木偶师》,它处理了我所需要的一切 调整DPI 可以通过设置页面视口来调整DPI 木偶演员等同于。ctrl+f键用于unitToPixels
例如
const browser=puppeter.launch();
const page=wait browser.newPage();
//将所需长度(以英寸为单位)乘以96
等待page.setViewport({
宽度:8.5*96,
身高:11*96,
});
等待
您可以在完成之前等待选择器。在我的例子中,我在身体上附加了一个类,供木偶演员聆听和捕捉
const browser=puppeter.launch();
const page=wait browser.newPage();
const html=buildDOM();//具有附加.finished类的js
等待page.setContent(html);
wait page.waitForSelector('.finished');
您是否使用该库制作了可选文本pdf?怎样?我找不到这么多信息there@Tupac最近我用了木偶演员。可能是我两年前第一次写这篇文章时弄错了,但《木偶演员》现在确实支持可选文本和可调DPI。