iTextPdf 5.5.1 – 使用自定义字体将大型HTML转换为单页PDF

我正在使用包含CSS样式的HTML文档。 我想创建一个带有自定义字体的pdf文件和根据文档内容的高度。

我按照这个实现调整了基于HTML数据量的页面大小但它需要单独的HTML和CSS。 我将整个文档字符串作为HTML提供,并将CSS String保留为null。 它给了我例外。 而且如果有任何例子在Java中实现自定义字体请帮忙。

   Proforma-Quittung 27.03.17 11:18 2017/2432   @font-face { font-family: "Roboto Mono"; src: url('RobotoMono-Bold.ttf') format('ttf'), url('RobotoMono-BoldItalic.ttf') format('ttf'), url('RobotoMono-Italic.ttf') format('ttf'), url('RobotoMono-Light.ttf') format('ttf'), url('RobotoMono-LightItalic.ttf') format('ttf'), url('RobotoMono-Medium.ttf') format('ttf'), url('RobotoMono-MediumItalic.ttf') format('ttf'), url('RobotoMono-Regular.ttf') format('ttf'), url('RobotoMono-Thin.ttf') format('ttf'), url('RobotoMono-ThinItalic.ttf') format('ttf'); } body { font-family: "Roboto Mono"; font-size: 10pt; width: 100%; margin: 0pt; } .documentType { text-transform: uppercase; } h1 { text-align: center; font-size: 16pt; font-weight: normal; } h2 { text-align: center; font-size: 10pt; font-weight: normal; margin: 0pt; } tr.manual_imprint td { border-bottom:1pt dotted black; height: 30pt; vertical-align: bottom; } h3 { text-align: center; font-size: 13pt; font-weight: normal; } h3.left { font-size: 13pt; text-align: left; } hr { height: 1pt; color: black; background-color: black; border: 0pt; } table { width: 100%; border: 0pt; padding: 0pt; border-spacing: 0pt; } tr.lineitem_head td { border-bottom:1pt solid black; } tr.total td { border-top:1pt solid black; border-bottom:3pt double black; font-size: 12pt; font-weight: bold; } td { overflow: hidden; } td.left { max-width: 1px; text-align: left; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } td.left_indent { text-align: left; padding-left: 7pt; } td.right { text-align: right; vertical-align: top; white-space: nowrap; }    

Tischlerei Helmut Meyer_676647

Proforma-Quittung

27.03.17 11:18
1x Filter Kalita 4,50 €
1x Latte 3,60 €
1x Skywalker/250g 7,90 €
1x Playground Love 8,90 €
1x Dschaggah Khan 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
1x King Kongo 12,90 €
Total 50,70 €
Netto 46,62 €
7,00 VAT 2,79 €
19,00 VAT 1,29 €