0
This问题已存在,但未使用PDFsharp提供答案,但iTextPDF提供。PDFsharp:使用PDFsharp替换字符串
现在回到问题,我知道一种读取和提取字符串的方法。但是我无法替换文本。
我的代码:
var content = ContentReader.ReadContent(page);
var text = content.ExtractText();
text = text.Replace("Replace This", "With This");
XFont font = new XFont("Times New Roman", 11, XFontStyle.BoldItalic);
gfx.DrawString(text, font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Left);
// Save the document...
const string filename = "New Doc.pdf";
document.Save(filename);
}
public static IEnumerable<string> ExtractText(this CObject cObject)
{
if (cObject is COperator)
{
var cOperator = cObject as COperator;
if (cOperator.OpCode.Name== OpCodeName.Tj.ToString() ||
cOperator.OpCode.Name == OpCodeName.TJ.ToString())
{
foreach (var cOperand in cOperator.Operands)
foreach (var txt in ExtractText(cOperand))
yield return txt;
}
}
else if (cObject is CSequence)
{
var cSequence = cObject as CSequence;
foreach (var element in cSequence)
foreach (var txt in ExtractText(element))
yield return txt;
}
else if (cObject is CString)
{
var cString = cObject as CString;
yield return cString.Value;
}
}
这是一个示例代码和这个人会忽略图形和图像。最后只在输出文件中写入文本。有没有办法可以替换文字而不用触摸内容中的图形和图像?
谢谢你的回应。我知道这是错误的:)这就是我在Q.中发布的内容 – Enthusiastic
任何对PDFSharp构建的第三方库的引用?如果你知道这是免费许可 – Enthusiastic
我不知道这样的代码是否存在。 PDFsharp不是为文本提取而设计的,它不是为文本操作而设计的。我知道有使用PDFsharp构建的文本提取代码。 –