이것은 PDFBox jar 파일을 처음 사용하는 경험입니다. 또한, 나는 최근에 TestComplete에서 일하기 시작했습니다. 요컨대,이 모든 것들은 나를 위해 새 것이고 나는 지난 몇 시간 동안 한 가지 문제에 매달 렸습니다. 내가 할 수있는만큼 설명하려고 노력할 것이다. 어떤 도움을 정말 고맙겠 어! 목적로컬 파일 시스템에 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
}
오류 : 당신이 메서드 이름 write2file_2
에 대해 방해하는 경우에서이 발췌를 참조하시기 바랍니다
내가 공유 한 링크 :
Java에서 클래스 생성자는이 클래스의 이름을가집니다. TestComplete는 생성자 이름을 newInstance()로 변경합니다. 클래스에 생성자가 오버로드 된 경우 TestComplete는 newInstance, newInstace_2, newInstance_3 등과 같은 이름을 지정합니다.
추가 정보 :
내가 JAR 파일 (pdfbox - 응용 프로그램-1.8.13.jar)와 testcomplete에서 자신의 클래스를 가져 왔습니다. 내가 여기에 다른 jar 파일 또는 클래스를 가져올 필요가 있는지 확실하지 않다 :
어떤 유형이'objImages'입니까? XObject는 항상 이미지 XObject가 아닙니다. write2file은 PDXObjectImage 클래스에 있습니다. –
@TilmanHausherr 올바른 방향으로 나를 가리켜 주셔서 감사합니다. xobject가 서브 타입'PDXObjectForm' 일 때마다, 우리는 그 에러를 얻는다. 'PDPixelMap' 또는'PDJpeg' 만 포함 된 다른 PDF 파일에 대한 코드를 실행했는데 제대로 작동했습니다.파일 시스템에 이미지를 저장할 수있었습니다. 답변으로 게시 해 주시기 바랍니다. 또한 하위 유형'PDXObjectForm'의 Xobjects를 저장하는 방법을 알려주시겠습니까? – Gurman