5

我正在使用 html2pdf 将带有图像的 HTML 内容转换为 PDF,并且我还添加了一个旋转和翻转图像的选项......现在 pdf 已成功创建......但是如果我使用 CSS 旋转或翻转了任何图像 transform: rotate(90deg);

transform:scaleX(-1);

然后在 PDF 文件中,该图像看起来没有旋转或翻转...任何解决此问题的想法...请分享...或任何解决方案。

提前致谢。

4

4 回答 4

13

使用“-webkit-transform”而不是“transform”。例如:

 -webkit-transform: rotate(90deg);
于 2017-07-19T02:21:30.550 回答
7

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

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

于 2013-04-02T15:11:53.297 回答
1

我重新发布这个旧帖子。对于仍在寻找使用 CSS3 和 HTML5 最新功能的 wkhtmlToPdf 或 wkhtmlToImage 的替代品的人来说,由于这个 github 问题,我在这里找到了两个工具:

https://github.com/wkhtmltopdf/wkhtmltopdf/issues/4092

所以有两个很棒的工具可以直接使用 Chromium 浏览器,我使用的一个是Pupputer,它允许你通过 Node.js 代码使用它(所以这对 Node.js 网络服务器来说是一件好事!),截图网页并将其转换为 pdf 或图像。

它还允许您选择基于铬的浏览器!!!(使用 puppeteer-core 而不是 puppeteer 用于轻型版本并使用外部铬)

我尝试了一下,它只是渲染了一个与您在 chromium 浏览器上看到的相同的屏幕截图,我使用了CSS 属性的rotateX, rotateY, rotateZwithperspective并且工作得很好。

享受 !!!

木偶师: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();
    })();
于 2021-07-30T09:48:39.417 回答
0

尝试style="-webkit-transform: rotate(-90deg);"而不是变换。

它适用于html-pdfhtml2pdf转换器。

于 2020-03-06T02:03:01.043 回答