Spire.PDF 10.10.0 现已正式发布。最新版本支持在转换 PDF 到 Markdown 时忽略图片。同时,一些已知问题也此次更新中被成功修复,例如转换 PDF 文档到 PDF/A 文档时,打开结果文档报错的问题。更多详情请查阅以下内容。
新功能:
- 支持转换 PDF 到 Markdown 时忽略图片。
- 扩展了 PdfMDPSignatureMaker 类,支持传递 IPdfSignatureFormatter 对象。
- 支持使用 PdfOrdinarySignatureMaker 类或 PdfMDPSignatureMaker 类对文档已有的签名域进行签名。
PdfToMarkdownConverter converter = new PdfToMarkdownConverter(inputFile); converter.MarkdownOptions.IgnoreImage = true;
converter.ConvertToMarkdown(outputFile);
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
X509Certificate2 cert = new X509Certificate2(inputFile_pfx, "e-iceblue");
IPdfSignatureFormatter formatter = new PdfPKCS7Formatter(cert, false);
PdfMDPSignatureMaker pdfMDPSignatureMaker = new PdfMDPSignatureMaker(pdf, formatter);
PdfSignature signature = pdfMDPSignatureMaker.Signature;
signature.Name = "e-iceblue";
signature.ContactInfo = "028-81705109";
signature.Location = "chengdu";
signature.Reason = " this document";
PdfSignatureAppearance appearance = new PdfSignatureAppearance(signature);
appearance.NameLabel = "Signer: ";
appearance.ContactInfoLabel = "ContactInfo: ";
appearance.LocationLabel = "Loaction: ";
appearance.ReasonLabel = "Reason: ";
pdfMDPSignatureMaker.MakeSignature("signName", pdf.Pages[0], 100, 100, 250, 200, appearance);
pdf.SaveToFile(outputFile, FileFormat.PDF);
pdf.Dispose();
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(inputFile);
PdfFormWidget widgets = pdf.Form as PdfFormWidget;
for (int i = 0; i < widgets.FieldsWidget.List.Count; i++)
{
PdfFieldWidget widget = widgets.FieldsWidget.List[i] as PdfFieldWidget;
if (widget is PdfSignatureFieldWidget)
{
string originalName = widget.Name;
X509Certificate2 cert = new X509Certificate2(inputFile_pfx, "e-iceblue");
IPdfSignatureFormatter formatter = new PdfPKCS7Formatter(cert, false);
// PdfMDPSignatureMaker signatureMaker = new PdfMDPSignatureMaker(pdf, formatter);
PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(pdf, formatter);
PdfSignature signature = signatureMaker.Signature;
signature.Name = "E-iceblue";
signature.ContactInfo = "028-81705109";
signature.Location = "chengdu";
signature.Reason = "document";
PdfSignatureAppearance appearance = new PdfSignatureAppearance(signature);
appearance.NameLabel = "Signer: ";
appearance.ContactInfoLabel = "ContactInfo: ";
appearance.LocationLabel = "Loaction: ";
appearance.ReasonLabel = "Reason: ";
appearance.SignatureImage = PdfImage.FromFile(inputFile_Img);
appearance.GraphicMode = GraphicMode.SignImageAndSignDetail;
signatureMaker.MakeSignature(originalName, appearance);
}
}
pdf.SaveToFile(outputFile);
pdf.Dispose();
问题修复:
- 修复了转换 PDF 文档到 PDF/A 文档,打开结果文档报错的问题。
- 修复了转换 PDF 文档到 PPTX 文档,程序抛 System.IndexOutOfRangeException: "Index was outside the bounds of the array." 异常的问题。
- 修复了转换 PDF 文档到图片,速度下降的问题。
- 修复了验证签名有效性,第一个签名有效性始终返回 false 的问题。
- 修复了转换 OFD 文档到 PDF 文档,程序抛 "Object reference not set to an instance of an object" 异常的问题。
- 修复了转换 OFD 文档到 PDF 文档,程序抛 "错误的文字对象的粗细值:681" 异常的问题。
- 修复了转换 OFD 文档到 PDF 文档,内容丢失的问题。
- 修复了压缩 PDF 文档,程序抛 "Object reference not set to an instance of an object" 异常的问题。
- 修复了转换 PDF 文档到 ToPdfA3B 文档,不应用授权程序时程序抛 "NullReferenceException" 异常的问题。
获取 Spire.PDF 10.10.0,请点击: