如何以编程方式锁定PDF中的铅笔标记

时间:2019-04-05 19:46:29

标签: pdf

可以在Acrobat Pro中将铅笔标记添加到PDF。即使未锁定,也可以在Acrobat Reader中移动它,请参阅附件中的图像。是否有一个API(在Windows中为首选,免费或否),允许我以编程方式锁定PDF中的所有铅笔标记(如果存在)?

enter image description here

2 个答案:

答案 0 :(得分:1)

您需要一个PDF库,该库能够设置每个墨水(Acrobat中的铅笔)注释的/ F条目,以表示注释的各种特征的标志。位置8是此处的相关条目:

  

8   已锁定   (PDF 1.4)如果设置,则不允许用户删除注释或其属性(包括位置和大小)。但是,此标志并不限制对注释内容的更改,例如表单字段的值。

有关更多详细信息,请参见ISO 32000-1:2008参考的第12.5.3节“注释标志”。

我的公司提供PDF Library,它能够做到这一点,当然还有更多。

答案 1 :(得分:0)

似乎PdfSharp(www.pdfsharp.com)提供了易于锁定注释的界面。只是不确定PdfSharep有多健壮。

using PdfSharp;
using PdfSharp.Pdf;
using PdfSharp.Pdf.Annotations;
using PdfSharp.Pdf.IO;

namespace testPdfSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            PdfDocument doc = PdfReader.Open(@"e:\some.pdf");
            foreach (PdfPage p in doc.Pages)
            {
                foreach (PdfAnnotation a in p.Annotations)
                {
                    a.Flags |= PdfAnnotationFlags.Locked;
                }
            }
            doc.Save(@"e:\Locked.pdf");
        }
    }
}