자바 에서 pdf 그림 전환 실현 방법
1.icepdf.유 료 판 과 오픈 소스 판이 있 는데 몇 가지 방법 중에서 가장 추천 합 니 다.전환 효과 가 비교적 좋 습 니 다.제 가 가지 고 있 는 파일 의 중국 어 를 식별 할 수 있 습 니 다.바로 전환 후 글꼴 의 관계 부분 글자 간격 이 좀 넓 을 수 있 습 니 다.글꼴 지원 은 유 료 이기 때문에 변 환 된 그림 에는 공식 워 터 마크 가 붙 어 있다.워 터 마크 를 제거 하 는 방법 은 다른 글 을 볼 수 있다.
1.icepdf 의 패 키 지 를 다운로드 하고 항목 을 가 져 오 는 데 4 개 를 사용 합 니 다.다음 과 같 습 니 다.
2.코드 예 를 첨부 합 니 다.
String filePath = "c:/test.pdf";
Document document = new Document();
document.setFile(filePath);
float scale = 2.5f;//
float rotation = 0f;//
for (int i = 0; i < document.getNumberOfPages(); i++) {
BufferedImage image = (BufferedImage)
document.getPageImage(i, GraphicsRenderingHints.SCREEN, org.icepdf.core.pobjects.Page.BOUNDARY_CROPBOX, rotation, scale);
RenderedImage rendImage = image;
try {
File file = new File("c:/iecPDF_" + i + ".png");
ImageIO.write(rendImage, "png", file);
14 } catch (IOException e) {
e.printStackTrace();
}
image.flush();
}
document.dispose();
예 를 들 어 pdf 에서 png 형식 으로 전환 할 수도 있 고 12,13 줄 을 jpg 로 바 꾸 어 jpg 형식 으로 전환 할 수도 있 지만 전환 효 과 를 보면 png 의 선명 도가 상대 적 으로 높다.12 줄 을 jpg 로 바 꾸 는 작은 방법 이 있 지만 13 줄 은 png 를 사용 합 니 다.즉,jpg 형식 으로 바 꾸 지만 png 선명 도가 있 는 그림 입 니 다.2.pdfbox.전환 효 과 는 괜 찮 습 니 다.제 가 가지 고 있 는 파일 의 대부분 내용 을 식별 할 수 있 고 일부 내용 은 식별 할 수 없습니다.
1.pdfbox 의 패 키 지 를 다운로드 하고 항목 을 가 져 옵 니 다.여기에 2 개 를 사용 합 니 다.다음 과 같 습 니 다.
2.코드 예 를 첨부 합 니 다.
File file = new File("c:\\test.pdf");
try {
PDDocument doc = PDDocument.load(file);
PDFRenderer renderer = new PDFRenderer(doc);
5 int pageCount = doc.getNumberOfPages();
for(int i=0;i<pageCount;i++){
BufferedImage image = renderer.renderImageWithDPI(i, 296);
// BufferedImage image = renderer.renderImage(i, 2.5f);
ImageIO.write(image, "PNG", new File("C:\\pdfbox_image.png"));
}
} catch (IOException e) {
e.printStackTrace();
}
예 에서 rederImageWith DPI 의 두 번 째 매개 변 수 는 dpi 해상도 단위 로 수요 에 따라 크기 를 조절 할 수 있 습 니 다.코드 8 줄 은 패키지 에 있 는 다른 그림 을 돌 리 는 방법 을 제공 합 니 다.두 번 째 매개 변 수 는 크기 조정 비 입 니 다.3.jpedal.효과 가 좋 지 않 습 니 다.중국어 지원 이 좋 지 않 은 것 같 습 니 다.아래 lgpl 버 전 은 오픈 소스 입 니 다.
1.jpedal 의 패 키 지 를 다운로드 하고 항목 을 가 져 옵 니 다.다음 과 같 습 니 다.
2.코드 예 를 첨부 합 니 다.
PdfDecoder decode_pdf = new PdfDecoder(true);
try {
decode_pdf.openPdfFile("c:\\test.pdf"); //file
// decode_pdf.openPdfFile("C:/jpedalPDF.pdf", "password"); //encrypted file
// decode_pdf.openPdfArray(bytes); //bytes is byte[] array with PDF
// decode_pdf.openPdfFileFromURL("http://www.mysite.com/jpedalPDF.pdf",false);
// decode_pdf.openPdfFileFromInputStream(in, false);
int start = 1, end = decode_pdf.getPageCount();
for(int i = start; i < end+1; i++){
BufferedImage img=decode_pdf.getPageAsImage(i);
try {
ImageIO.write(img, "png", new File("C:\\jpedal_image.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
decode_pdf.closePdfFile();
} catch (PdfException e) {
e.printStackTrace();
}
예 를 들 어 3-7 줄 은 몇 가지 서로 다른 pdf 열기 방식 을 제공 하여 자신의 필요 에 따라 선택 하여 사용 할 수 있 습 니 다.이상 의 자바 에서 pdf 가 그림 을 돌 리 는 실현 방법 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 여러분 들 이 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.