iTextSharp修改pdf属性

时间:2012-10-26 04:23:18

标签: c# .net itextsharp

我有一个PDF我试图打开并稍微改变(只是更改ViewerPreferences)但似乎无法确定iTextSharp的确切用法。最后保存的文件已损坏。有什么想法吗?

        PdfReader reader = new PdfReader(@"C:\4803.pdf");

        using (var stream = new MemoryStream())
        {
            PdfStamper stamper = new PdfStamper(reader, stream);
            stamper.ViewerPreferences = PdfWriter.AllowPrinting | PdfWriter.PrintScalingNone;

            stream.Position = 0;
            byte[] output = LoadFromStream(stream); // Convert it to a byte array
            SaveToFile(output, @"C:\4803_out.pdf"); // Save it to a file

            stamper.Close();
        }

1 个答案:

答案 0 :(得分:3)

在将MemoryStream转换为字节数组并保存之前关闭PdfStamper。 你这样做的方式,pdf尚未在流中完成。

PS :为防止压模关闭也关闭流,请使用

stamper.Writer.CloseStream = false