我正在使用html2pdf将html内容与图像转换为pdf
我还添加了旋转和翻转图像的选项...
现在pdf已成功创建...但如果我使用css旋转或翻转任何图像
transform:rotate(90deg);
transform:scaleX(-1);
然后在pdf文件中,图像看起来没有旋转或翻转...... 任何想法摆脱这个问题...请分享......或任何解决方案。
先谢谢。
答案 0 :(得分:6)
尝试wkhtmltopdf,它也适用于css转换(但只能使用-webkit前缀)
答案 1 :(得分:3)
使用" -webkit-transform"而不是"转换"。例如:
-webkit-transform: rotate(90deg);
答案 2 :(得分:1)
我重新发布这个旧帖子。 对于那些仍在寻找 wkhtmlToPdf 或 wkhtmlToImage 的替代品的人来说,它可以使用 CSS3 和 HTML5 的最新功能,由于这个 github 问题,我在这里找到了两个工具:
https://github.com/wkhtmltopdf/wkhtmltopdf/issues/4092
所以有两个很棒的工具可以直接使用 Chromium 浏览器,我使用的一个是 Pupputer 允许您通过 Node.js 代码使用它(所以这是一个很好的Node.js Web 服务器的东西?!),截取网页的屏幕截图并将其转换为 pdf 或图像。
它还允许您选择基于铬的浏览器?!!!(使用 puppeteer-core 而不是 puppeteer 对于轻型版本并使用外部铬)
我尝试了一下,它只是呈现出与您在 Chrome 浏览器上看到的屏幕截图相同的屏幕截图,我将 rotateX, rotateY, rotateZ
与 perspective
的 CSS 属性一起使用并且效果很好。>
享受!!!
<块引用>傀儡师:https://github.com/puppeteer/puppeteer
<块引用>ChromeHtmlToPdf:https://github.com/Sicos1977/ChromeHtmlToPdf
下面是使用 Node.js 在本地尝试的简单代码:
// I use here the light version so I can choose my default chromium browser that I used on my Windows
// to install it :
// npm -i puppeteer-core
const puppeteer = require('puppeteer-core');
(async ()=>{
// path to my default browser, idk if it's work with opera or other chromium based browser
const browser = await puppeteer.launch({ executablePath: 'E:/Programmes/chrome-win/chrome.exe' });
const page = await browser.newPage();
// the default size if 800 * 600
await page.setViewport({
width: 800,
height: 533,
deviceScaleFactor: 1,
});
// the page targeted that I want the screenshot
await page.goto('http://localhost/Fiverr/3dAxis/temp/2_photo2.jpg.html');
// the output
await page.screenshot({ path: 'example.png' });
await browser.close();
})();
答案 3 :(得分:0)
尝试style="-webkit-transform: rotate(-90deg);"
而不是变换。
它在 html-pdf 和 html2pdf 转换器中都对我有用。