无法使用Powershell和headless chrome将名称中带有单引号的html文件转换为pdf

7ivaypg9  于 2023-04-03  发布在  Go
关注(0)|答案(1)|浏览(87)

使用powershell和headless chrome,我正在尝试将html文件转换为pdf。
然而,我的很多html文件名都包含一个单引号。例如:约翰比萨店. html
名称中带有单引号的HTML文件不会转换为PDF
如何将这些类型的htmls转换为pdf?最好不要删除引用,因为会影响下游流程。
下面是我的代码,简单地定义了我的目标pdf路径和源html文档。pdf将不会生成,除非从源html中删除单引号。
我试过逃跑,但我可能做错了。$srcPath = 'C:\Users\JohnDoe\HTMLtoPDF\John''的Pizza.html'
正如我上面提到的,如果可能的话,我希望以编程方式免费解决这个问题,不使用任何工具,也不删除单引号

$chromePath = "C:\Program Files\Google\Chrome\Application\chrome.exe"
$destPath = "C:\Users\JohnDoe\HTMLtoPDF\John's Pizza.pdf"
$srcPath = "C:\Users\JohnDoe\HTMLtoPDF\John's Pizza.html"

& $chromePath --headless --disable-gpu --print-to-pdf=$destPath $srcPath
wyyhbhjk

wyyhbhjk1#

对于chrome(和edge),必须将单引号转换为%27。例如:

$srcPath = "C:\Users\JohnDoe\HTMLtoPDF\John's Pizza.html" -replace "'","%27"

它也不需要转义其他字符,比如空格(在我的测试中)。
似乎是错误的行为与打印到pdf功能,因为 chrome 可以打开文件路径与单引号刚刚好,然后手动打印到pdf。

相关问题