pdfbox 예제

안녕하세요 Mykong, 나는 HTML에 PDF 파일을 은폐해야하고 이를 위해 텍스트와 함께 PDF의 서식을 가져 오는 자바 코드가 필요합니다. 예를 들어 테이블, 이미지, 양식 등 저를 안내해 주세요. 감사. PDF 문서의 중심을 계산하려면 몇 가지 계산을 수행해야 합니다. 다음 예제를 살펴보십시오. 가져오기 자바.awt.Color; 가져오기 자바.io.IOException; 가져오기 org.apache.pdfbox.pdmodel.PD문서; 가져오기 org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.common.PDRectangle; 가져오기 org.apache.pdfbox.pdmodel.PDPage콘텐츠스트림; 가져오기 org.apache.pdfbox.pdmodel.font.PDFont; 가져오기 org.apache.pdfbox.pdmodel.font.PDType1Font; 가져오기 org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; public class Simple { 공용 정적 보이드 메인 (String[] args)는 예외 { 문자열 outputFileName = “Simple.pdf”를 throw합니다. PDPage 페이지1 = 새 PD페이지(PDRectangle.A4); PDRectangle.LETTER 및 기타 가능성도 PDRectangle 직사각형 = page1.getMediaBox(); 정사각형은 페이지 너비와 높이 문서를 얻는 데 사용할 수 있습니다.addPage(페이지1); PDF 기본 글꼴 중 하나를 선택하는 새 글꼴 개체 만들기 PDFont 글꼴일반 = PDType1Font.HELVETICA; PDFont 글꼴굵 = PDType1Font.HELVETICA_BOLD; PDFont 글꼴Italic = PDType1Font.HELVETICA_OBLIQUE; PDFont 글꼴모노 = PDType1Font.COURIER; PDPageContentStream cos = 새 PDPageContentStream(문서, 페이지1)을 생성할 콘텐츠를 보유할 새 콘텐츠 스트림을 시작합니다. int 라인 = 0; 선택한 글꼴을 사용하여 텍스트 콘텐츠 스트림을 정의하고 커서를 이동하고 일부 텍스트 cos.beginText()를 그립니다. cos.setFont (글꼴플레인, 12); cos.newLineAtOffset (100, rect.getHeight() – 50*(++라인)); cos.showText(“안녕하세요 세계”); cos.endText(); cos.beginText(); cos.setFont(글꼴이, 12); cos.newLineAtOffset (100, rect.getHeight() – 50*(++라인)); cos.showText(“기울임꼴”); cos.endText(); cos.beginText(); cos.setFont (글꼴볼, 12); cos.newLineAtOffset (100, rect.getHeight() – 50*(++라인)); cos.showText(“굵게”); cos.endText(); cos.beginText(); cos.setFont (글꼴모노, 12); cos.setNonstrokingColor (색상.BLUE); cos.newLineAtOffset (100, rect.getHeight() – 50*(++라인)); cos.showText(“모노스페이스 블루”); cos.endText(); 콘텐츠 스트림이 닫혀 있는지 확인합니다.

PDPage 페이지2 = 새 PD페이지(PDRectangle.A4); 문서.addPage(페이지2); cos = 새로운 PDPageContentStream (문서, 페이지2); 왼쪽 아래 모서리에 빨간색 상자를 그립니다.setNonStrokingColor (Color.RED); cos.addRect (10, 10, 100, 100); cos.fill(); 서로 다른 너비의 두 줄을 추가합니다. cos.moveTo (200, 250); cos.lineTo (400, 250); cos.closeAnd스트로크(); cos.setLine폭 (5); cos.moveTo (200, 300); cos.lineTo (400, 300); cos.closeAnd스트로크(); 이미지 시도 { PDImageXObject ximage = PDImageXObject.createFromFile (“Simple.jpg”, 문서); 부동 눈금 = 0.5f; // 이미지 크기 cos.drawImage (ximage, 100, 400, ximage.getWidth ()*눈금, ximage.getHeight()*크기) * * * 눈금) 설정하려면이 값을 변경합니다. IOException ioex) { System.out.println (“당신을 위한 이미지 없음”); } // 페이지 2 cos.close()에 대한 콘텐츠 스트림을 닫습니다. 결과를 저장하고 문서가 제대로 닫혀 있는지 확인합니다: document.save(outputFileName); 문서.닫기(); } } 시작하려면 최신 pdfbox-app-X.Y.Z.jar 파일을 다운로드합니다. 그것은 하나의 편리한 파일에 모든 것을 포함하고 있습니다.