iTextSharp.text.pdf操作pdf文件的问题

ayun00 2018-06-22 02:32:42
我用这个组件做pdf操作, 因为要处理多少, 所以想用byte[] 一路操作下去,但是使用的适合发现无法读byte, 只能先写成文件到硬盘,再读出来进去下一步操作, 请问是哪里出了问题
方法如下

public byte[] AddWaterMark(byte[] sourceFile, string watermarkContent)
{
//待加水印的文件
PdfReader reader = new PdfReader(sourceFile);
//加完水印的文件
MemoryStream fs = new MemoryStream();
PdfStamper stamper = new PdfStamper(reader, fs);
int total = reader.NumberOfPages + 1;
PdfContentByte content;
//设置字体
BaseFont bs = BaseFont.CreateFont("C:/WINDOWS/Fonts/SIMYOU.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
for (int i = 1; i < total; i++)
{
//在内容上方加水印
content = stamper.GetOverContent(i);
content.BeginText();
content.SetColorFill(BaseColor.BLACK);
content.SetFontAndSize(bs, 8);
content.ShowTextAligned(Element.ALIGN_CENTER, watermarkContent, 3
...全文
446 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayun00 2018-07-11
  • 打赏
  • 举报
回复
引用 5 楼 starfd 的回复:
我用的spire.pdf是有savetostream方法的
我看了下itext的确不像spire那样有很明确的save方法,但你这个代码看起来没有执行最终绘制的方法,就像电子签名要通过MakeSignature.SignDetached这个方法来最终执行一样

但是我不用            MemoryStream 而是用 FileStream 的话, 这段代码执行完后, 就有对应的文件生成了
ayun00 2018-07-11
  • 打赏
  • 举报
回复
引用 4 楼 jayinIT 的回复:
https://blog.csdn.net/c79651760/article/details/56480109

你好, 我现在不是生成不了pdf文件,而是只能把文件写到硬盘上去,
无法直接返回stream , 进行其他的操作

我需要对pdf文档进行生成,增加水印, 压缩成zip 等多种操作, 我想用stream 进行操作,现在只能生成文件后 ,又用filestream读出来, 太浪费资源了
  • 打赏
  • 举报
回复
我用的spire.pdf是有savetostream方法的
我看了下itext的确不像spire那样有很明确的save方法,但你这个代码看起来没有执行最终绘制的方法,就像电子签名要通过MakeSignature.SignDetached这个方法来最终执行一样
  • 打赏
  • 举报
回复
https://blog.csdn.net/c79651760/article/details/56480109
  • 打赏
  • 举报
回复
https://www.cnblogs.com/xiyang1011/p/8043249.html
ayun00 2018-07-03
  • 打赏
  • 举报
回复
有大佬答复下吗?
ayun00 2018-06-22
  • 打赏
  • 举报
回复
上面贴不全 ,继续贴

content.ShowTextAligned(Element.ALIGN_CENTER, watermarkContent, 300, 10, 0);
content.EndText();
}
//fs 流读出
byte[] result = fs.GetBuffer();
stamper.Close();
fs.Close();
reader.Close();
return result;
}

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧