创建新PDF PDF权限控制
/// <summary>
/// 创建新PDF(权限控制)
/// 至于异常处理自己看着加(会损失一点性能)
/// </summary>
/// <param name="oldFile">原文件路径</param>
/// <param name="newFile">目标文件路径</param>
public static void SaveNewPDF(string oldFile, string newFile)
{
try
{
//创建PDF阅读器
PdfReader reader = new PdfReader(oldFile);
//创建一个新文档
Document document = new Document();
//创建原文件文件流
FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);
//创建PDF写入器
PdfWriter writer = PdfWriter.GetInstance(document, fs);
/*
* PDF浏览权限设置
* true、用户密码、所有者密码、0
* */
writer.SetEncryption(true, null, null, 0);
//打开文档进行编辑
document.Open();
//创建PDF内容目标对象
PdfContentByte cb = writer.DirectContent;
//获取原文件的总页数
int pagecount = reader.NumberOfPages;
//导入原PDF文件到新文件
for (int i = 1; i <= pagecount; i++)
{
//设置页大小
document.SetPageSize(reader.GetPageSizeWithRotation(i));
//开辟一个新页
document.NewPage();
//获取当前页
PdfImportedPage page = writer.GetImportedPage(reader, i);
cb.AddTemplate(page, 0, 0);
}
//关闭文档对象
document.Close();
//关闭文件流
fs.Close();
//关闭写入器
writer.Close();
//关闭读取器
reader.Close();
}
catch (Exception)
{
throw;
}
}
本文来自博客园,作者:程序猿网友666,转载请注明原文链接:https://www.cnblogs.com/chenghu/archive/2013/04/25/3042433.html

浙公网安备 33010602011771号