2

プログラムを使用してポストスクリプトファイルにメタデータを挿入し、AdobeDistillerを使用してPDFに抽出します。ThomasMerzの「WebPublishingwithAcrobat-PDF」のオンラインの章から取得したこのコードを使用しています。

/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse

[ /Title (mot accenté)

  /Author (mot accenté)

  /Subject (mot accenté)

  /Keywords (mot accenté) 

/DOCINFO pdfmark

結果のPDFのメタデータを見ると、アクセント付きの文字が「?」に変わります。[件名]フィールドと[キーワード]フィールドに入力しますが、[タイトル]フィールドと[作成者]フィールドには入力しません。文字は同じASCII233です

それらを8進数のエンコーディング(\ 351)に置き換えてみましたが、同じ結果になりました(タイトルと作成者は大丈夫、件名とキーワードはめちゃくちゃです)。

ファイルのエンコーディングはlatin-1、unix eol

アドビのフォーラムで言及を見つけましたが、その答えは私には意味がありませんでした。

http://forums.adobe.com/message/1165593 および http://forums.adobe.com/thread/307687

エンコーディングをutf-8に変更し、文字をバイナリで挿入しました(VIM:<Ctrl-v>u00e9)。変更はありません。いくつかの場所にBOMを挿入しようとしましたが、機能しませんでした。

これは、Acrobat Pro 9(9.3.3177)のDistillerを使用したものです。

AcrobatPro7ではこの問題に気づきませんでした。

ポストスクリプトファイルを変更するときにアクセント付き文字をすべてのメタデータフィールドに入れる回避策を知っている人はいますか、それとも間違っているかどうか教えてください。

異なるフィールドが同じバイトを受け入れないのは奇妙に思えます。

おそらく関連するSOの質問:PDFのUnicode

すべてのフォントを埋め込みます。

4

5 に答える 5

2

Can you try using UTF16-BE for the encoding and starting the strings with 254 and 255 (thorn and y-dieresis)?

于 2010-06-17T17:21:23.223 に答える
2

最後のリファレンスには、PDFで16進文字のUnicodeを使用するための良いヒントが含まれていました(Mark Storerからのフィードバックを参照)。

だから代わりに

[ /Title (mot accenté)

あなたは試すことができます

[ /Title <FFEF006D006F007400200061006300630065006E007400E9>`

など..。

少し不器用かもしれませんが、シェルスクリプトの助けを少し借りて、「ä」、「õ」、「ü」などの他の特殊文字をpdfブックマークに追加するのに役立ちました。

于 2012-08-22T02:27:23.250 に答える
1

したがって、ANSIエンコードされたファイルと、PDFDocEncodingセットに含まれる任意の文字(フランス語のアクセント付き文字)を使用できるはずですが、それは機能しません。

もう1つの方法は、引き続きlatin-1でエンコードされたファイルを使用することですが、Unicode文字を8進数形式(2バイト:\ xxx \ xxx)で入力します。そして、BOMで文字列を開始します:\ 377 \ 366

したがって、上記の件名文字列「motaccenté」は次のように変換する必要があります。

/Subject (\377\376\155\000\157\000\164\000\040\000\141\000\143\000\143\000\145\000\156\000\164\000\351\000)

これは機能しますが、最悪です。誰かもっと良いものがありますか?

于 2010-06-14T18:54:41.253 に答える
1

すべてのアクセント付き文字をエスケープ/エンコードする必要はありません!

標準のASCII文字を保持し、特殊文字が表示される場所に\NNN表記を混ぜるだけで十分です。

次のGhostscriptコマンドは、2ページのPDFを作成します。2つのブックマーク/アウトラインが含まれ、アクセント付きのメタデータが含まれる、ほぼ空のページがあります。例はWindowsの場合で、Unix / Linuxでは、gs行末エスケープをDOSバッチ^からunixシェルに 変更するだけ\です。

gswin32c.exe ^
 -sDEVICE=pdfwrite ^
 -o 2-empty-pages-with-bookmarks-and-accents-in-metadata.pdf ^
 -c "[/Creator(brains&smarts)/Author(pipitas)/Subject(m\350t accent\351)/Title(mot accent\352)/Keywords(ganz sch\353\353 bl\353\353\d!)/DOCINFO pdfmark" ^
 -c "[/Page 1 /View [/XYZ null null null] /Title (Page One) /OUT pdfmark" ^
 -c "[/Page 2 /View [/XYZ null null null] /Title (Page Two) /OUT pdfmark" ^
 -c "200 500 moveto /Helvetica findfont 100 scalefont setfont (One) show showpage 200 500 moveto (Two) show showpage quit"
  .

これで、「PostScriptファイルを変更するときにアクセント付き文字をすべてのメタデータフィールドに入れる回避策を知っている人はいますか?」という質問が最終的に解決されることを願っています。。

于 2010-08-16T21:54:59.723 に答える
0

これはあなたの質問に直接答えるものではありませんが、「pdfメタデータアクセント」を検索するときにグーグルが私をここに導きました。

したがって、 pdftkを使用してpdfメタデータを変更できることを他の人が知っていると便利かもしれません

アクセント記号付きの文字を含めるには、HTMLコードを使用します

「Baçan」が「Baħan」として表示される理由を理解するのに少し時間がかかりましたが、それはPDFメタデータがUTF8を受け入れないためです。

JúlioVerneのメタデータの例:

InfoKey: Author
InfoValue: J&#250;lio Verne

また、hexeditを使用して、HEXコードを正しい位置に手動で挿入することもできます。

é = HEX E9 HTML: &#233;
ç = HEX E7 HTML: &#231;
ú = HEX FA HTML: &#250;
ó = HEX F3 HTML: &#243;

等々。上の表を見てください。

これが誰かを助けるのに役立つことを願っています。

于 2012-12-09T17:20:07.443 に答える