2017-04-17 54 views
0

apache pdfbox 및 dhorions/boxable 라이브러리를 사용하여 pdf 파일을 만들려고합니다. 그러나 셀에 중첩 된 HTML 목록을 표시하는 데 문제가 있습니다.Apache PDFBox, Boxable - HTML 정렬/정렬되지 않은 목록이 잘못 표시되었습니다.

val document: PDDocument = new PDDocument() 
var myPage: PDPage = new PDPage(PDRectangle.A4) 
document.addPage(myPage) 
var yPosition: Float = 777 
val margin = 40 
val bottomMargin = 40 
val yStartNewPage = myPage.getMediaBox().getHeight() - (margin) 
val tableWidth = myPage.getMediaBox().getWidth() - (2 * margin) 
val table = new BaseTable(yPosition, yStartNewPage, bottomMargin, tableWidth, margin, document, myPage, true, true) 
val row: be.quodlibet.boxable.Row[PDPage] = table.createRow(10f) 
var cell = row.createCell((100/3f),"<ul><li>hello</li><li>hello 2</li><ol><li>nested</li><li>nested 2</li></ol></ul>", be.quodlibet.boxable.HorizontalAlignment.get("left"), be.quodlibet.boxable.VerticalAlignment.get("top")) 
table.draw() 

출력 :

enter image description here

로를, 당신은 이미지에서 볼 수있는 목록 대신 subchild에서 탭의, 개행 문자가 표시됩니다, 제대로 정렬되지 않습니다.

저는 박스형 1.5-RC 버전과 2.0 버전의 pdfbox를 사용하고 있습니다.

+0

주문 목록을 "heelo 2"항목에 중첩 시키길 바란가요? – mkl

+0

@mkl 예, 중첩 된 순서대로 목록을 원합니다. 그러나 정렬되지 않은 목록도 시도했지만 동일한 오류가 발생합니다. btw, 나는 boxable의 github 문제 페이지를 살펴보고이 문제가 업데이트에서 해결되었다고 말하는 문제와 관련된 문제를 발견했지만이 오류가 계속 발생합니다. 나는 업데이트 된 코드를 통해 갔고 나는 업데이트 된 코드가 마스터와 병합되지 않는다고 생각한다. 어떤 해결책이 있습니까? –

+0

아직 마스터와 병합되지 않은 경우 해당 개발 지점에서 자신 만의 jar를 빌드하십시오. – mkl

답변

1

나는 토 년 6 월 25 현재 마스터 지점 변경의 수는이 날짜 이후에 합병 포함 중부 유럽 표준시 08시 15분 3초 2016

를 생성 한 boxable 버전 1.5 RC와 관찰을 재현 할 수있다. 그리고 실제로 그것을 컴파일하고 코드로 인한 아티팩트를 사용하여 하나는 다른 이미지를 가져옵니다

Output with current master branch boxable

마스터 브랜치의 pom.xml은 여전히에 비해 수정 사항이 포함되어있는 것 같습니다 버전 1.4을 주장하고 있지만 1.5-RC.

따라서 마스터 코드를 컴파일하고 결과 아티팩트를 사용하는 것이 좋습니다. 버전을 확실히 업데이트해야합니다 (예 : 1.5-SNAPSHOT 또는 1.4.9 또는 이와 유사한 값으로 변경하십시오.

어떤 이유에서든 그렇게 할 수 없다면, 박스 제작자에게 릴리스 일정을 요청할 수 있습니다.