これは初めてのPDFBox jarファイルの使用経験です。また、私は最近TestCompleteの作業を開始しました。一言で言えば、これらのことはすべて私のために新しいものであり、私は最後の数時間にわたって1つの問題に立ち往生しています。私はできるだけ説明しようとします。助けを本当に感謝しますか?ローカルファイルシステム上のPDFにある画像を保存する
目的:
ファイルシステム上に
問題 PDFファイルに存在する画像を保存するには:この行はobjImage.write2file_2(strSavePath);
を実行されます場合は
を、私はエラーObject doesn't support this property or method
を取得します。
I am taking some help from here
コード:
function fn_PDFImage()
{
var objPdfFile, strPdfFilePath, strSavePath, objPages, objPage, objImages, objImage, imgbuffer;
strPdfFilePath = "C:\\Users\\aabb\\Desktop\\name.pdf";
strSavePath = "C:\\Users\\aabb\\Desktop\\abc";
objPdfFile = JavaClasses.org_apache_pdfbox_pdmodel.PDDocument.load_3(strPdfFilePath);
objPages = objPdfFile.getDocumentCatalog().getAllPages();
//getting a page with index=1
objPage = objPages.get(1)
objImages = objPage.getResources().getXObjects().values().toArray();
Log.Message(objImages.length); //This is returning 14. i.e, 14 images
//getting an image with index=1
objImage = objImages.items(1);
Log.Message(typeof objImage); //returns "Object" which means it is not null
//saving the image
objImage.write2file_2(strSavePath); //<---GETTING AN ERROR HERE
}
ERROR:あなたは、メソッド名write2file_2
について気にしている場合は、からの抜粋をお読みください
私が共有しているリンク:
Javaでは、クラスのコンストラクタにはこのクラスの名前があります。 TestCompleteはコンストラクター名をnewInstance()に変更します。 クラスにコンストラクタがオーバーロードされている場合、TestCompleteは newInstance、newInstace_2、newInstance_3というように名前を付けます。
追加情報:
私はJarファイル(pdfboxアプリ-1.8.13.jar)とのTestCompleteで自分のクラスをインポートしています。私はここにいくつかの他のjarファイルまたはクラスをインポートする必要がある場合、私はわからない:
どのタイプが 'objImages'ですか? XObjectsは常にイメージXObjectsではありません。また、write2fileはPDXObjectImageクラスにあります。 –
@TilmanHausherr私を正しい方向に向けてくれてありがとう。 xobjectがサブタイプ 'PDXObjectForm'であるときはいつでも、私たちはそのエラーを受け取るようです。私は 'PDPixelMap'または' PDJpeg'だけを含む他のPDFファイルのために自分のコードを実行し、うまくいきました。ファイルシステムにイメージを保存することができました。これを回答として投稿してください。また、サブタイプ 'PDXObjectForm'のXobjectsを保存する方法を教えてください。 – Gurman