나는 안드로이드 애플 리케이션을위한 HTML 문서를 HTML로 변환 iTextPdf (안드로이드를위한 iTextG) 라이브러리와 함께 일하고 있습니다. 영수증의 로고를 제외하고 모든 것이 잘 작동합니다. 내 HTML은안드로이드 ItextG 이미지 태그가 렌더링되지 않습니다
<img src="http...."></img>
PDF 파일로 이미지를 가지고 있지 않습니다 생성 된 이미지의 소스 HTTP URL을 <img>
태그가 포함되어 있습니다. 자바 애플리케이션에서 실행되는 동일한 코드와 html이 작성된 PDF와 로고를 표시하고 있습니다 (이미지 액세스에 문제가 없음을 보여줍니다). 이 기능이 Java와 만 호환되지만 Android와 호환되지 않는지 궁금합니다. 나는 다음과 같은 종속성을 사용하여 사용하고 있습니다 :
compile 'com.itextpdf:itextg:5.5.10'
compile 'com.itextpdf.tool:xmlworker:5.5.10'
html로 코드 : 주요 활동에
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="English">
<head>
<title>Title</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</head>
<body>
<img src="https://image.flaticon.com/teams/slug/google.jpg"></img>
<h1>Fischerstube</h1>
</body>
</html>
기능 :
private void htmlToPdf(String html) throws DocumentException, IOException {
try {
File file = new File(Environment.getExternalStorageDirectory() + File.separator + "logo.pdf");
OutputStream fileOutputStream = new FileOutputStream(file);
Document document = new Document();
document.setPageSize(new Rectangle(201,720));
PdfWriter writer = PdfWriter.getInstance(document, fileOutputStream);
document.open();
InputStream is = new ByteArrayInputStream(html.getBytes());
XMLWorkerHelper.getInstance().parseXHtml(writer, document, is);
document.close();
fileOutputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
그것은 <h1>
태그를 렌더링 Fischerstube을 표시하지만 ANDROIRD에 아무런 이미지를 장치. 아무쪼록이 일에 도움이 될 수 있습니까, 감사하게 생각합니다.
iTextG와 XMLWorker의 버전이 동일해야합니다. –
@AmedeeVanGasse : xmlworker와 itextg 모두 5.5.10으로 확인했는데 동일한 동작 (이미지 없음)이 있습니다. 이 조합은 Java에서는 잘 작동하지만 Android에서는 작동합니다. –
@AmedeeVanGasse Android에서 사용중인 정보를 방금 업데이트했는지 확인하십시오. –