Chrome Headless PrintToPDF与HTML字符串或文件?



我正在制作一个基于Unity3D的应用程序,需要从HTML代码生成pdf。我尝试过其他库,但它们要么太慢,要么过时,要么对我的目的来说太贵了。正因为如此,我正在考虑使用Chrome的PrintToPDF功能,它是内置的。

为了进行测试,下面的代码可以生成Google主页(或任何站点)的PDF,但是我需要将HTML字符串转换为PDF。

System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
process.StartInfo.FileName = @"C:Program FilesGoogleChromeApplicationchrome.exe";
string arguments = @"--headless --print-to-pdf=""C:UsersuserNamedesktopmyReport.pdf"" https://google.com";
process.StartInfo.Arguments = arguments;
process.Start();

是否有可能输入一个字符串与HTML代码或本地存储的独立HTML文件转换为PDF使用这种方法?

谢谢!

经过多次测试后,我发现可以将路径传递给一个HTML文件,该文件接受web URL。据我所知,这在任何地方都没有文档记录,但只要路径格式正确,它就可以工作。这只在Windows(11)上进行了测试,但我相信只要所有路径都正确,它也可以在MacOS上工作。

System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
process.StartInfo.FileName = @"C:Program FilesGoogleChromeApplicationchrome.exe";
string arguments = @"--headless --disable-gpu --print-to-pdf=""C:pathtooutputPDFFile.pdf"" ""C:pathtosourceHTMLFile.html""";
process.StartInfo.Arguments = arguments;
process.Start();

为了使其工作,--headless标志需要存在,否则它将在浏览器中打开文件。

其他输出选项可以通过其他参数添加。请看这里的例子。

相关内容

  • 没有找到相关文章

最新更新