【发布时间】:2017-04-19 14:32:40
【问题描述】:
我使用 XMLWorker 将 HTML 解析为 PDF。而且我的图像有问题。当单词之间的标签路径中有空格或西里尔符号位于路径中时,来自 HTML 的图像不会添加到 PDF 中。为了解决空间问题,我使用了path.Replase(" ", "%20") 和path.Replase(" ", "+"),但它没有帮助。
我是否应该将 img 的路径转换为 base64 并在使用 ImageProvider (AbstractImageProvider) 之后,如here?
如果路径没有空格或西里尔符号,则 XMLWorker 解析 HMTL 是正确的。
<img src="D:\c#\PdfItextSharp\HTML_to_PDF_book\HTML_to_PDF_book\bin\Debug\Data\Resources\Documentation\IASO\Modules\LearningFrame\Images\32x32-tree_add_subitem.png" class="icon">
但如果路径中有符号,则图像不会添加到 pdf 中
<img src="D:\c#\PdfItextSharp\HTML to PDF book\HTML to PDF book\bin\Debug\Data\Resources\Documentation\IASO\Modules\LearningFrame\Images\32x32-tree_add_subitem.png" class="icon">
或
\\HI-PC\AllUsers\Выгрузка\DebugHtmlToPdf\User manual - Instructor\bin\Data\Data\Screenshots\0e39c7d5-4489-4d8b-ae84-ee85a2e225ee.jpg
我怎么能这样
谢谢。
【问题讨论】:
-
你能提供一个sscce吗?
-
@mkl,我加了。
-
但是那些不是URLs,那些是文件系统路径。根据 HTML 规范:“src 属性必须存在,并且必须包含一个有效的非空 URL,该 URL 可能被空格包围,引用非交互式、可选动画、既不是分页也不是脚本的图像资源。”
-
@mkl,你对我有什么建议?我应该在 c# 中使用什么来转换为“根据 HTML 规范”?
-
This msdn blog entry 可能会帮助你