私はGhostscript 8.15で作成されたpdfを持っています。 pdfファイルからフォント名を抽出し、いくつかの操作を実行する私のソフトウェアからこのpdfを処理する必要があります。しかし、このpdfファイルからフォント名を抽出すると、これらの名前は同じではありません。例:元のフォント名は「NOORIN05」ですが、pdfファイルには「TTE25A5F90t00」が含まれています。どのようにしてこれらのフォント名を元の名前にデコードできますか?すべてのフォントはTTFです。Ghostscriptによって生成されたPDFから元のフォント名を取得するにはどうすればよいですか?
注: なぜフォントを抽出する必要がありますか。 InPageという名前のソフトウェアがあります。これは、インドとパキスタンでウルドゥー語で文書を書くのが最も有名でした。ワープロのユニコードサポートの前に、ウルドゥー語をコンピュータに入力する唯一のソリューションだったからです。 Urdu言語の複雑さのため、このソフトウェアはNOORIN01〜NOORIN89という89のフォントファイルを使用します。あまりにも多くのフォントファイルを使用する理由は、19,000以上のウルドゥー合字をすべて含んでいるためです。なぜなら、各ファイルには255個の合字しか含まれていないので、ユニコードの前にこのテクニックを使用していたからです。このソフトウェアによって生成されたpdfファイルのテキストをコピー&ペーストすると、MS Wordでゴミが発生します。私が89以上のフォントファイルについて語った理由。そのような種類の古いpdfファイルからテキストを抽出する方法はありませんでした。 (今はこのソフトウェアはユニコードのサポートを持っていますが、私は古いファイルについて話しています)。だから私はC#でそのような古いpdfファイルからテキストを抽出するソフトウェアを開発しました。私が使用しているアルゴリズムで、すべてのaschiiコードを持つ89個のフォントファイルのすべての名前を含むデータベースファイルを作成し、次の列にユニコードでウルドゥー語のユニコード文字を入力しました。 pdfファイルをフォントで文字単位で処理し、データベースファイルのフォント名と照合し、データベースからUnicode合字を取得してテキストボックスに表示します。だからこの方法で私は正常にUnicodeのテキストを取得します。私のソフトウェアは多くのpdfファイルで正常に動作していました。しかし、数日前、私はあなたのソフトウェアがこのpdfからテキストを抽出できないという人から苦情を受けます。私がテストすると、pdfファイルに元のフォント名が含まれていないことがわかりました。そのため、私のソフトウェアはそれ以上の処理を行うことができません。このPDFファイルのプロパティを確認すると、PDFプロデューサのGPL Ghostscript 8.15が表示されます。だから私はネットを検索し、フォントに関連するドキュメントを勉強したが、元のフォント名をデコードして取得する手がかりは見つけられなかった。
一般的に、フォント名をそのまま使用するにはPDFプロセッサは必要ありません。したがって、一般的に文字をフォント名で正しく認識できるとは保証できません。完全停止。つまり、フォント名を比較するだけではなく、問題のグリフを特定することはもちろん可能です(結局のところ単純なことです)。例えば。グリフのフォントプログラムの指示と、他の文書の問題のグリフについて知っている指示とを単純に比較することができます。 – mkl