PDFBox 및 PDFPagePanel 구성 요소를 사용하여 PDF 페이지를 보는 방법을 파악할 수 없습니다.PDFBox의 PDFPagePanel을 사용하여 PDF 문서를 보는 방법
그래서 내 옵션 PDPage 개체 또는 PDDocument 객체의 목록을 작성하는 중입니다 PDFBox를 사용하여
다음 코드 (PDDocument 개체에 대한 Splitter()
를 사용하여 반대), 나는 PDPage 목록에 갔어요 것 같다 나는 PDFPagePanel
를 작성하고 구성 요소에 PDPage를 배치하기 위해 setPage()
방법을 사용하고 싶습니다 여기에서 testPage
File PDF_Path = new File("C:\\PDF.PDF");
PDDocument inputPDF = PDDocument.load(PDF_Path);
List<PDPage> allPages = inputPDF.getDocumentCatalog().getAllPages();
inputPDF.close();
PDPage testPage = (PDPage)allPages.get(0);
라는 PDPage 개체를 만듭니다. 여기에서 JFrame에 구성 요소를 추가하려고합니다. 이 작업을 수행하면 공백이 보입니다.
JFrame testFrame = new JFrame();
testFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
PDFPagePanel pdfPanel = new PDFPagePanel();
pdfPanel.setPage(testPage);
testFrame.add(pdfPanel);
testFrame.setBounds(40, 40, pdfPanel.getWidth(), pdfPanel.getHeight());
testFrame.setVisible(true);
나는
converting the PDF to an image을 제안하고, 버퍼 이미지로 표시 한 '솔루션'을 발견하고,이 작동하는 동안이 작업을 수행하려면 올바른 방법은 아닌 것 같아. PDF를 표시하는 수단으로 PDFBox의 PDFPagePanel을 사용하는 데 올바르지 않습니까?
PDDocument를 너무 일찍 닫지 않으려 고 시도 했습니까 (inputPDF.close())? 완료되면 PDDocument를 닫고 PDPage를 사용할 때가 아닙니다. –
그래, 나도 그 제안을 주셔서 감사합니다. 어쨌든 내가 왜 그 라인을 넣었는지 정말로 모르겠다. 나는 코드를 복사 할 때 맨 아래에 놓았다. 지금은 단순히 PDFBox 메일 링리스트에 이메일을 보냈고 사용할 수있는 다른 옵션을 살펴 보겠습니다. 내가 모든 iText 나 IcePDF 같은 다른 도구를 사용하는 것에 문제가 있어서는 안된다. 모든 소스 코드가 GitHub의 공용 저장소에 푸시되고 있기 때문에, 나는 라이센스와 공개를 다루는 어떤 종류의 클래스도 사용 해본 적이 없다. 소스 코드. –