0

Wordアドインの場合、PDFBoxを使用してPDFを操作しています。というか、使いたい。以前、自作のデスクトップ アプリで使用しました。PDFBox は、IKVM ( http://www.squarepdf.net/pdfbox-in-netなど) で DLL として使用できる Java ライブラリです。私が経験した問題は、Wordaddins のすべてのライブラリが厳密な名前でなければならないということです。強力な署名をしようとしましたが、Apache 共通ログ (ディレクトリ MANIFEST.MF 内) の一部が見つからないという例外が発生します。これまでのところ、これはかなり曖昧であることを知っており、後で詳細を投稿しますが、誰かがすでにこれを経験していて、これを正しく行う方法についてアイデアを持っているか、PDFBox の厳密な名前のバージョンが既にある場所を教えてくれる可能性があります。 . 前もって感謝します!

4

1 に答える 1

0

私の同僚は休暇中なので、この質問にもう少し情報を提供します。すべての pdfbox-dll に厳密な名前を付けましたが、pdf を開こうとすると、最初の FileNotFoundException が発生します。ファイル $(PrjectDir)\bin\x86\Debug\commons-logging.properties が見つかりませんでした。

以下のすべての例外には同じ問題があります。サンプルとして、次の例外は DirectoryNotFoundException です。\bin\x86\Debug\META-INF\services\org.apache.commons.logging.LogFactory が見つかりませんでした。私のPDFを開くだけで10以上のFileNotFoundExceptionsがあります:

doc = PDDocument.load(new File(inputFile));

それらのすべては、ロガーの何かを見つけることができません.

次のステップでは、その pdf の最初のページからコンテンツ ストリームを作成しようとします。

contentStream = new PDPageContentStream(doc, (PDPage)doc.getDocumentCatalog().getAllPages().get(0), true, false);

最初の例外、C:\Users(user).accessibility.properties または $(ProjectDir)\bin\x86\Debug\META-INF\services\java.text.spi.NumberFormatProvider に別の FileNotFoundException が存在するようになります

この時点までに、20 ほどの例外があります。それらのほとんどは、ロガーの何かを見つけることができません。しかし、開いたpdfをハードディスクに書き込むことができます。contentstream にテキストを挿入しようとすると、フォントを設定する必要がある時点でより厳しい例外が発生します。

PDFont font = PDType1Font.HELVETICA;
contentStream.setFont(font, 10);

この時点で、次の例外が発生します。

fontbox-1.8.12.dll で「System.TypeInitializationException」タイプの例外 (最初のチャンス) が発生しました。追加情報: 「org.apache.fontbox.cmap.CMap」の型初期化子が例外を生成しました。

pdfbox が厳密な名前の場合、参照に問題があると思います。何をすべきか考えている人はいますか?どうもありがとうございました。

于 2016-09-19T08:56:59.603 に答える