转换 - 当我将html内容转换为pdf时,旋转和缩放不起作用

时间:2013-04-02 14:40:26

标签: css rotation transform scale html2pdf

我正在使用html2pdf将html内容与图像转换为pdf 我还添加了旋转和翻转图像的选项... 现在pdf已成功创建...但如果我使用css旋转或翻转任何图像 transform:rotate(90deg);

transform:scaleX(-1);

然后在pdf文件中,图像看起来没有旋转或翻转...... 任何想法摆脱这个问题...请分享......或任何解决方案。

先谢谢。

4 个答案:

答案 0 :(得分:6)

尝试wkhtmltopdf,它也适用于css转换(但只能使用-webkit前缀)

https://code.google.com/p/wkhtmltopdf/

答案 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, rotateZperspective 的 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 转换器中都对我有用。