Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iTextSharp HTML到PDF-处理图像_C#_Html_Pdf_Itextsharp - Fatal编程技术网

C# iTextSharp HTML到PDF-处理图像

C# iTextSharp HTML到PDF-处理图像,c#,html,pdf,itextsharp,C#,Html,Pdf,Itextsharp,我正在使用iTextSharp获取html文件并将其转换为PDF,但是我遇到了一个问题,需要它意识到它何时命中并生成图像,从html中获取图像并将其插入PDF中的正确位置 所有HTML文件都是简单格式的基本HTML文件,通常如下所示: 正文 形象 正文 图像。可能iTextSharp的XML工作程序无法检索图像文件。两个案例: 必须通过网络连接检索图像,例如,img标记的srchttp://...。在这种情况下,检索图像失败可能是因为运行iTextSharp进程的计算机无法到达承载图像的服务器。

我正在使用iTextSharp获取html文件并将其转换为PDF,但是我遇到了一个问题,需要它意识到它何时命中并生成图像,从html中获取图像并将其插入PDF中的正确位置

所有HTML文件都是简单格式的基本HTML文件,通常如下所示:

正文

形象

正文


图像。

可能iTextSharp的XML工作程序无法检索图像文件。两个案例:

  • 必须通过网络连接检索图像,例如,
    img
    标记的
    src
    http://...。在这种情况下,检索图像失败可能是因为运行iTextSharp进程的计算机无法到达承载图像的服务器。服务器可能已关闭,机器可能位于web代理或防火墙后面,机器未连接到internet等

  • 必须从本地文件系统检索图像。在这种情况下,您可能需要一个
    ImageProvider
    来指向正确的位置。看一看。这是


  • 很抱歉迟了答复。图像和HTML文件在我的本地计算机上,而不是任何地方的服务器上。我正在使用一个HTMLWorker来解析HTML,它在没有图像的情况下工作得很好。然而,一旦涉及到图像,它就无法通过IMG标签。我想知道是否有办法检测它是否到达IMG标签。处理图像并将其插入pdf中,然后继续处理文本。
    HTMLWorker
    不推荐使用。请查看
    XMLWorker
    。我在回答中链接的示例演示了如何使用
    XMLWorker
    。不幸的是,我继承了遗留代码,只需要让它与图像一起工作。它可以很好地处理文本,但我们现在需要它来处理图像。所以我真的不想换成XMLWorker。这是一个很有帮助的答案!我的堆栈包括逻辑:Spring控制器->ServiceImpl(生成逻辑)->Velocity(生成模板)->iText使用模板生成包含图像的PDF。我在Velocity模板中指定了http://并且iText无法访问http://服务器。我为iText编写了ImageProvider,为Velocity模板中的图像指定一个根路径,最后它开始工作。