iText에서 html을 pdf로 변환
4742 단어 itext
core-renderer.jar
core-renderer-minimal.jar
iText-2.0.8.jar
iTextAsian.jar
xml-apis-xerces-2.9.1.jar
2 Code:
// html
public String reportPdf(MessageResources resources,
Locale locale, HttpSession session, HttpServletRequest request,
HttpServletResponse response) throws Exception {
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition","attachment;filename="+java.net.URLEncoder.encode("itextConvertHtml","UTF-8")+".pdf");
OutputStream os = response.getOutputStream();
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver fontResolver = renderer.getFontResolver();
// window
fontResolver.addFont("C:/Windows/fonts/simsun.ttc",BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //
//Linux simsun.ttc( ),window c:/windows/font/simsun.ttc
//fontResolver.addFont(this.getServlet().getServletContext().getRealPath("/")+"/images/simsun.ttc",BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
StringBuffer html = new StringBuffer();
// DOCTYPE
html.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
html.append("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
html.append("<head>");
html.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />");
html.append("<style type=\"text/css\" mce_bogus=\"1\">body {font-family: SimSun;}</style>");
html.append("</head>").append("<body>");
html.append("<img src='itextConvertHtml1.jpg'/><img src='itextConvertHtml2.jpg'/>");
html.append("</body></html>");
try{
renderer.setDocumentFromString(html.toString());
// ( images/upload itextConvertHtml1.jpg itextConvertHtml1.jpg)
renderer.getSharedContext().setBaseURL("file:/"+this.getServlet().getServletContext().getRealPath("/")+"images/upload/");
renderer.layout();
renderer.createPDF(os);
os.flush();
os.close();
}catch(Exception ex){}
return null;
}
// html
public String outPutPdf(MessageResources resources,
Locale locale, HttpSession session, HttpServletRequest request,
HttpServletResponse response) throws Exception {
String outputFile = "E:/itextConvertHtml.pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver fontResolver = renderer.getFontResolver();
fontResolver.addFont("C:/Windows/fonts/simsun.ttc",
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //
StringBuffer html = new StringBuffer();
// DOCTYPE
html.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
html.append("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
html.append("<head>");
html.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />");
html.append("<style type=\"text/css\" mce_bogus=\"1\">body {font-family: SimSun;}</style>");
html.append("</head>").append("<body>");
html.append("<img src='itextConvertHtml1.jpg'/><img src='itextConvertHtml2.jpg'/>");
html.append("</body></html>");
try{
renderer.setDocumentFromString(html.toString());
// ( images/upload itextConvertHtml1.jpg itextConvertHtml1.jpg)
renderer.getSharedContext().setBaseURL("file:/"+this.getServlet().getServletContext().getRealPath("/")+"images/upload/");
renderer.layout();
renderer.createPDF(os);
os.flush();
os.close();
}catch(Exception ex){}
return null;
}
3itext를 사용하여 html을 pdf로 전환할 때 html의 라벨은 반드시 시작-끝이어야 한다. 또한itext 중 일부는 html을 지원하지 않는 라벨이 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
IText 가로로 doc 문서 생성Itext에서 doc 문서를 생성하려면 세 개의 패키지가 필요합니다: iTextasian.jar,iText-rtf-2.1.4.jar,iText-2.1.4.jar 직접 테스트에 오류가 없습니다. 코드는 다음과 같습니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.