[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Pdf-Properties.xml
bloba4de7951b2e6057d6caa382b7369d5a6cbee763f
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20872 -->
4 <sect1 id="zend.pdf.info">
5     <!-- @todo review and revise upon completion of refactoring -->
6     <title>ドキュメントの情報およびメタデータ</title>
7     <para>
8         <acronym>PDF</acronym> ドキュメントには、そのドキュメントに関する情報
9         (たとえばタイトルや作者、作成日、更新日など)
10         を含められます。
11     </para>
12     <para>
13         歴史的に、この情報は特別な Info 構造体に格納されるようになっています。
14         この構造体を読み書きするには、<classname>Zend_Pdf</classname> オブジェクトの public プロパティ
15         <code>properties</code> の連想配列を使用します。
16             <programlisting language="php"><![CDATA[
17 $pdf = Zend_Pdf::load($pdfPath);
19 echo $pdf->properties['Title'] . "\n";
20 echo $pdf->properties['Author'] . "\n";
22 $pdf->properties['Title'] = 'New Title.';
23 $pdf->save($pdfPath);
24 ]]></programlisting>
26     </para>
27     <para>
28         <acronym>PDF</acronym> v1.4 (Acrobat 5) の標準規格では、次のようなキーが定義されています。
30         <itemizedlist>
31             <listitem>
32                 <para>
33                     <emphasis>Title</emphasis> - 文字列 (任意)。ドキュメントのタイトル。
34                 </para>
35             </listitem>
36             <listitem>
37                 <para>
38                     <emphasis>Author</emphasis> - 文字列 (任意)。
39                     ドキュメントの作成者。
40                 </para>
41             </listitem>
42             <listitem>
43                 <para>
44                     <emphasis>Subject</emphasis> - 文字列 (任意)。
45                     ドキュメントのサブタイトル。
46                 </para>
47             </listitem>
48             <listitem>
49                 <para>
50                     <emphasis>Keywords</emphasis> - 文字列 (任意)。
51                     ドキュメントに関連するキーワード。
52                 </para>
53             </listitem>
54             <listitem>
55                 <para>
56                     <emphasis>Creator</emphasis> - 文字列 (任意)。
57                     他の形式から <acronym>PDF</acronym> に変換されたドキュメントである場合に、
58                     変換元のドキュメントを作成したアプリケーションの名前
59                     (たとえば Adobe FrameMaker®) が格納されます。
60                 </para>
61             </listitem>
62             <listitem>
63                 <para>
64                     <emphasis>Producer</emphasis> - 文字列 (任意)。
65                     他の形式から <acronym>PDF</acronym> に変換されたドキュメントである場合に、
66                     <acronym>PDF</acronym> への変換に使用したアプリケーションの名前
67                     (たとえば Acrobat Distiller) が格納されます。
68                 </para>
69             </listitem>
70             <listitem>
71                 <para>
72                     <emphasis>CreationDate</emphasis> - 文字列 (任意)。
73                     ドキュメントの作成日時を
74                     "D:YYYYMMDDHHmmSSOHH'mm'" 形式で表したもの。
75                     <itemizedlist>
76                         <listitem>
77                             <para>
78                                 <emphasis>YYYY</emphasis> は年です。
79                             </para>
80                         </listitem>
81                         <listitem>
82                             <para>
83                                 <emphasis>MM</emphasis> は月です。
84                             </para>
85                         </listitem>
86                         <listitem>
87                             <para>
88                                 <emphasis>DD</emphasis> は日 (01–31) です。
89                             </para>
90                         </listitem>
91                         <listitem>
92                             <para>
93                                 <emphasis>HH</emphasis> は時 (00–23) です。
94                             </para>
95                         </listitem>
96                         <listitem>
97                             <para>
98                                 <emphasis>mm</emphasis> は分 (00–59) です。
99                             </para>
100                         </listitem>
101                         <listitem>
102                             <para>
103                                 <emphasis>SS</emphasis> は秒 (00–59) です。
104                             </para>
105                         </listitem>
106                         <listitem>
107                             <para>
108                                 <emphasis>O</emphasis> は地方時と標準時 (UT)
109                                 との関連です。+, −, あるいは Z で表します
110                                 (以下を参照ください)。
111                             </para>
112                         </listitem>
113                         <listitem>
114                             <para>
115                                 <emphasis>HH</emphasis> の後に ' を続けたものは、
116                                 UT との時差 (時) の絶対値 (00–23) です。
117                             </para>
118                         </listitem>
119                         <listitem>
120                             <para>
121                                 <emphasis>mm</emphasis> の後に ' を続けたものは、
122                                 UT との時差 (分) の絶対値 (00–59) です。
123                             </para>
124                         </listitem>
125                     </itemizedlist>
126                     HH および mm の後に続くアポストロフィ (') は、それぞれのパーツの一部となります。
127                     年以外のすべてのフィールドはオプションです (先頭の D: もオプションですが、
128                     これは省略しないことを強くお勧めします)。MM と DD のデフォルト値はともに
129                     01 で、その他のすべての数値フィールドのデフォルト値はゼロです。
130                     O フィールドのプラス記号  (+) は、地方時が UT より遅れていることを表し、
131                     マイナス記号 (−) は地方時のほうが UT より進んでいることを表します。
132                     UT 情報を省略した場合は、その時刻と UT との関係は未知となります。
133                     タイムゾーンの指定の有無にかかわらず、日付は地方時で指定しなければなりません。
134                 </para>
135                 <para>
136                     たとえば、太平洋標準時の 1998 年 12 月 23 日午後 7 時 52 分は、
137                     "D:199812231952−08'00'" となります。
138                 </para>
139             </listitem>
140             <listitem>
141                 <para>
142                     <emphasis>ModDate</emphasis> - 文字列 (任意)。
143                     ドキュメントの最終更新日時。形式は
144                     <emphasis>CreationDate</emphasis> と同じ。
145                 </para>
146             </listitem>
147             <listitem>
148                 <para>
149                     <emphasis>Trapped</emphasis> - boolean (任意)。
150                     ドキュメントにトラッピング情報を含むよう修正されているかどうか。
151                     <itemizedlist>
152                         <listitem>
153                             <para>
154                                 <emphasis><constant>TRUE</constant></emphasis> - ドキュメントは完全にトラッピングされています。
155                                 これ以上のトラッピングは不要です。
156                             </para>
157                         </listitem>
158                         <listitem>
159                             <para>
160                                 <emphasis><constant>FALSE</constant></emphasis> - ドキュメントはまだトラッピングされていません。
161                                 必要なトラッピングを行わなければなりません。
162                             </para>
163                         </listitem>
164                         <listitem>
165                             <para>
166                                 <emphasis><constant>NULL</constant></emphasis> -
167                                 ドキュメントがトラッピングされているかどうかが判別不可能、
168                                 あるいは一部だけトラッピングされている状態です。
169                                 さらなるトラッピングが必要かもしれません。
170                             </para>
171                         </listitem>
172                     </itemizedlist>
173                 </para>
174             </listitem>
175         </itemizedlist>
176     </para>
178     <para>
179         <acronym>PDF</acronym> v 1.6 以降では、メタデータを特別な <acronym>XML</acronym> 形式
180         (XMP - <ulink url="http://www.adobe.com/products/xmp/">Extensible Metadata Platform</ulink>)
181         で表して <acronym>PDF</acronym> に添付できます。
182     </para>
184     <para>
185         この <acronym>XML</acronym> ドキュメントを <acronym>PDF</acronym> から取得したり
186         <acronym>PDF</acronym> に添付したりするには、それぞれ
187         <methodname>Zend_Pdf::getMetadata()</methodname> メソッドおよび
188         <methodname>Zend_Pdf::setMetadata($metadata)</methodname> メソッドを使用します。
189             <programlisting language="php"><![CDATA[
190 $pdf = Zend_Pdf::load($pdfPath);
191 $metadata = $pdf->getMetadata();
192 $metadataDOM = new DOMDocument();
193 $metadataDOM->loadXML($metadata);
195 $xpath = new DOMXPath($metadataDOM);
196 $pdfPreffixNamespaceURI = $xpath->query('/rdf:RDF/rdf:Description')
197                                 ->item(0)
198                                 ->lookupNamespaceURI('pdf');
199 $xpath->registerNamespace('pdf', $pdfPreffixNamespaceURI);
201 $titleNode = $xpath->query('/rdf:RDF/rdf:Description/pdf:Title')->item(0);
202 $title = $titleNode->nodeValue;
205 $titleNode->nodeValue = 'New title';
206 $pdf->setMetadata($metadataDOM->saveXML());
207 $pdf->save($pdfPath);
208 ]]></programlisting>
209     </para>
211     <para>
212         標準的なドキュメントのプロパティは、Info 構造体とメタデータドキュメント
213         (存在する場合) の両方に重複して存在することになります。
214         これらをきちんと同期させるのは、アプリケーション側の責任となります。
215     </para>
216 </sect1>
217 <!--
218 vim:se ts=4 sw=4 et: