나는 flying-saucer lib를 사용하여 pdf를 생성하고 있습니다. 하지만 일부 HTML 엔티티에 문제가 있습니다.비행 접시 - HTML 엔티티가 렌더링되지 않습니다.
나는 해결책을 찾고 있었는데이 포럼과 다른 곳에서 많은 팁을 발견했지만 여전히 문제가 있습니다.
나는이 방법을 시도했다 : http://sdtidbits.blogspot.com/2008/11/flying-saucer-xhtml-rendering-and-local.html
하지만
내 코드 모양이 같은 어떤 성공없이
:
PDF는 새로운 PDF의 이름입니다os = new FileOutputStream(pdf);
ITextRenderer renderer = new ITextRenderer();
ChainingReplacedElementFactory chainingReplacedElementFactory = new ChainingReplacedElementFactory();
chainingReplacedElementFactory.addReplacedElementFactory(new B64ImgReplacedElementFactory(renderer.getSharedContext()));
renderer.getSharedContext().setReplacedElementFactory(chainingReplacedElementFactory);
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
생성 및 URL은
File f = new File(url);
if (f.exists()) {
url = f.toURI().toURL().toString();
}
입니다. 이
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<style type="text/css">
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr, th
{
color: #444;
font-family: Arial;
font-size: 14px;
line-height: 25px;
border: none;
}
table, td {border: solid 1px #CCC;}
img {page-break-inside: avoid;}
</style>
<title></title>
</head>
<body>
<h1>Test</h1>
<p>Html etites to test</p>
<p>←</p>
<p>←</p>
<p>↑</p>
<p>↑</p>
<p>↓</p>
<p></p>
</body>
</html>
모두 같은
내 HTML 파일을 보면 그 실체 옆에 잘 작동합니다. 아무 것도 화살표로 표시해야하는 빈 곳으로 만 렌더링됩니다. 누구에게도 해결책이 있습니까?
고마워요, 내 문제를 해결했다. 이제 모든 것이 괜찮습니다. – user3333010
도와 드리겠습니다. 주저하지 말고 답변을 수락하십시오 ([여기] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) 참조). – obourgain