Spire.PDF 11.2.4 已发布。本次更新新增支持使用 PdfTextReplacer 替换指定区域的文本、获取 Action 链接的书签信息以及返回 PdfTextReplacer.ReplaceAllText 替换的个数。该版本还增强了 PDF 到 HTML 和图片的转换功能。此外,许多已知问题也在该版本中成功修复,如打印 PDF 效果不正确的问题。详情请阅读以下内容。
新功能:
- PdfTextReplacer支持指定区域替换。
- 支持获取 Action 链接的书签信息。
- 支持返回 PdfTextReplacer.ReplaceAllText 替换的个数。
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
for (int i = 0; i < pdf.Pages.Count; i++)
{
PdfPageBase page = pdf.Pages[i] ;
PdfTextReplacer replacer = new PdfTextReplacer(page);
PdfTextReplaceOptions replaceOptions = new PdfTextReplaceOptions();
RectangleF rectangle = new RectangleF(10, 0, 841, 150);
replaceOptions.SetReplacementArea(rectangle);
replaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.IgnoreCase;
replacer.Options = replaceOptions;
replacer.ReplaceAllText("sql", "123456");
}
pdf.SaveToFile(outputFile);
pdf.Dispose();
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(inputFile);
PdfFormWidget formWidget = (PdfFormWidget)doc.Form;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.AppendLine("btnAction:");
for (int i = 0; i < formWidget.FieldsWidget.Count; ++i)
{
var field = formWidget.FieldsWidget[i] as PdfButtonWidgetFieldWidget;
if (field.Actions.MouseUp != null && field.Actions.MouseUp is PdfNamedAction)
{
var aaa = (PdfNamedAction)field.Actions.MouseUp;
stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseUp-" + aaa.Destination.ToString());
}
else if (field.Actions.MouseDown != null && field.Actions.MouseDown is PdfNamedAction)
{
var aaa = (PdfNamedAction)field.Actions.MouseDown;
stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseDown--" + aaa.Destination.ToString());
}
else if (field.Actions.MouseDown != null && field.Actions.MouseDown is PdfUriAction)
{
var aaa = (PdfUriAction)field.Actions.MouseDown;
stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseDown--" + aaa.Uri.ToString());
}
else if (field.Actions.MouseUp != null && field.Actions.MouseUp is PdfUriAction)
{
var aaa = (PdfUriAction)field.Actions.MouseUp;
stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseUp-" + aaa.Uri.ToString());
}
else if (field.Actions.MouseDown != null && field.Actions.MouseDown is PdfGotoNameAction)
{
var aaa = (PdfGotoNameAction)field.Actions.MouseDown;
stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseDown-" + aaa.Destination.ToString());
}
}
File.WriteAllText(outputFile, stringBuilder.ToString());
doc.Dispose();
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
PdfPageBase page = pdf.Pages[0];
PdfTextReplacer replacer = new PdfTextReplacer(page);
int count = replacer.ReplaceAllText("SQL", "ABC");
问题修复:
- 优化了 PdfCompressor 压缩 PDF 功能。
- 修复了打印 PDF 效果不正确的问题。
- 修复了 PdfTextBoxField 中多行文本展示效果不正确的问题。
- 修复了 PDF 转图片效果不正确的问题。
- 修复了 PDF 转 HTML 字符重叠的问题。
- 修复了合并文档抛异常 "System.NullReferenceException" 的问题。
获取 Spire.PDF 11.2.4,请点击: