ABCPdf SetInfo Статус авторского права и уведомление? - PullRequest
1 голос
/ 07 апреля 2011

Я искал везде, но не могу найти подходящее свойство для установки Уведомления об авторском праве и статуса авторского права с ABCPdf.

Здесь ничего нет http://www.websupergoo.com/helppdf8net/default.html?page=source/4-examples/14-setprops.htm

При сканировании спецификации Adobe PDF я тоже ничего не нахожу.

У кого-нибудь есть подсказка?

1 Ответ

2 голосов
/ 14 апреля 2011

Все заработало благодаря ABCpdf, который помог мне разобраться.

Пришлось использовать XMP и RDF для его установки.

Copyright.txt содержит

   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description rdf:about='' xmlns:xapRights='http://ns.adobe.com/xap/1.0/rights/'>
        <xapRights:Marked>True</xapRights:Marked> 
    </rdf:Description>
    <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/">
        <dc:rights>
            <rdf:Alt>
                <rdf:li xml:lang="x-default"><![CDATA[Copyright Acme Inc]]></rdf:li>
            </rdf:Alt>
        </dc:rights>
        <dc:creator>
            <rdf:Seq>
                <rdf:li><![CDATA[Acme Inc]]></rdf:li>
            </rdf:Seq>
        </dc:creator>
    </rdf:Description>

А из кода:

            // Set metadata
        var theXml = File.ReadAllText(context.Server.MapPath("Copyright.txt"));
        var so = new StreamObject(doc.ObjectSoup);
        so.SetText(theXml);
        so.Compress();

        // add dictionary to document catalog
        var cat = (DictAtom)doc.ObjectSoup.Catalog.Atom;
        cat.Add("Metadata", new RefAtom(so));
...