要实现ASP.NET Core中可编辑的PDF保存功能,可以使用iTextSharp库来处理PDF文件。以下是一个简单的代码示例:
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
public class PdfService
{
public void SaveEditablePdf(string sourceFilePath, string targetFilePath)
{
using (var reader = new PdfReader(sourceFilePath))
{
using (var outputStream = new FileStream(targetFilePath, FileMode.Create))
{
var stamper = new PdfStamper(reader, outputStream);
var form = stamper.AcroFields;
var fieldNames = form.Fields.Keys;
foreach (var fieldName in fieldNames)
{
form.SetField(fieldName, "Your Value"); // 设置字段的值
form.SetFieldProperty(fieldName, "setfflags", PdfFormField.FF_READ_ONLY, null); // 设置字段为只读
}
stamper.FormFlattening = false; // 保留表单编辑功能
stamper.Close();
}
}
}
}
public IActionResult SaveEditablePdf()
{
var sourceFilePath = "path/to/source.pdf"; // 源PDF文件路径
var targetFilePath = "path/to/target.pdf"; // 保存的目标PDF文件路径
var pdfService = new PdfService();
pdfService.SaveEditablePdf(sourceFilePath, targetFilePath);
return Content("Editable PDF saved successfully!");
}
请注意,上述代码示例仅涵盖了基本的操作。您可以根据自己的需求进行更改和扩展。