【发布时间】:2019-06-08 09:43:43
【问题描述】:
我正在设法从电子邮件中生成 PDF 文件,我实际上是通过 MailKit 检索该文件。
生成 pdf 文件本身没有实际问题(我正在向 PdfWriter 实例提供由 HtmlAgilityPack 提供的干净、经过改进和准备就绪的 html)。
我只想将每个单词指定为单个 TextChunk 而不是每个短语,这就是实际编写的内容。我猜这是“特定”的东西,因为取决于 pdf 打印机/生成器,它适用于某些文档,TextChunk 组合只是变化,有时是短语、单词甚至单个字符。
有没有办法将要插入到文档中的每个新块指定为一个单词?
这是我的代码,但到目前为止我还没有弄清楚如何指定“块细节”级别。
using (var ms = new MemoryStream())
{
using (var doc = new Document())
{
using (var writer = PdfWriter.GetInstance(doc, ms))
{
doc.Open();
using (var srHtml = new StringReader(message.Body.HtmlBody))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, srHtml);
}
doc.Close();
}
}
File.WriteAllBytes(_outputPath, ms.ToArray());
}
【问题讨论】:
-
iText 中的
TextChunk类与文本提取有关,而您的代码与 PDF 生成有关。我是否正确地假设您的用例不仅包括 PDF 生成,还包括这些 PDF 的内容受文本提取的后续步骤?您想以某种方式生成 PDF,在文本提取步骤中导致LocationTextExtractionStrategy中的TextChunk实例始终包含一个完整的单词? -
是的@mkl 你是对的!这正是我所指的!
-
;) 非常感谢!
-
@mkl 感谢您分享您的 PDF 知识!
标签: c# .net itext pdf-generation pdf-writer