如何将图像添加到使用Nreco PdfGenrator创建的PDF中

时间:2014-12-12 18:50:41

标签: powershell pdf-generation

我使用Nreco PDFGenerator使用以下PowerShell脚本生成PDF:

$PdfGenerator = "$((Get-Location).Path)\lib\NReco.PdfGenerator.dll"
$Assembly = [Reflection.Assembly]::LoadFrom($PdfGenerator)
$PdfCreator = New-Object NReco.PdfGenerator.HtmlToPdfConverter

$PdfCreator.PageHeight = 297
$PdfCreator.PageWidth = 210
$PdfCreator.Zoom = 2
$pdfBytes = $PdfCreator.GeneratePdf([string](gc myhtml.htm))
Add-Content -Value $pdfBytes -Encoding byte -Path "./mypdf.pdf"

myhtml.htm是一个简单的HTML文档:

<html>
  <head>
    <title>Hello World</title>
  <body>
    <img src='./img/FancyImage.jpg' alt='Fancy Image' />
  </body>
</html>

除了丢失图像外,一切看起来都很好......

欢迎任何想法!

3 个答案:

答案 0 :(得分:4)

显然,答案是正确的项目网站/常见问题:

  

可以通过指定FULL URL或路径(如果它们位于本地文件系统上)来包含图像。还支持外部CSS和javascript文件。

答案 1 :(得分:2)

您必须提供图像的物理路径,您可以添加一个特定标记并替换如下。

htmlToPdf = htmlToPdf.Replace("[FancyImage]", Server.MapPath("~/img/FancyImage.jpg"));

我用我的语言做过你可以用你的语言做同样的事情。

答案 2 :(得分:0)

尝试将jpg转换为base64

示例:  <img src='<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 9TXL0Y4OHwAAAABJRU5ErkJggg=="' alt='Fancy Image' />