2017-12-18 214 views
1

我想HTML轉換成與iText的的幫助下,PDF在pdfHTML iText7合作,通過使用其方法 CSS背景屬性不是Java

HtmlConverter.convertToPdf(htmlString, pdfDocument, converterProp);

但似乎這樣的服務不兌現CSS中定義的CSS屬性。

這裏是我的html字符串

String html = "<html>" 
      + "<head>" 
      + "<style>" 
       + "* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}" 
       + ".ng-hide {display: none !important;}" 
       + "label { font-weight: normal; }" 
       + "table { border-spacing: 0;border-collapse: collapse;}" 
       + "td, th { padding: 0; }" 
       + "@font-face { font-family: Muli; src: url(../fonts/Muli.woff2); }" 
       + "body { font-family: 'Muli', sans-serif!important; margin: 0;padding: 0; }" 
       + ".font-muli { font-family: Muli !important; }" 
      + "</style>" 
      + "</head>" 
      + "<body>" 
      + "<div>" 
       + "<div class='font-muli'>" 
        + "<div style='height: 0.69in; padding: 11px 16px; line-height: 0.49in; display: flex; font-size: 20pt;'>" 
         + "<div>" 
          + "<img style='float: left; height: 45px; margin-right: 11px;vertical-align: middle;' src='icon.png'>" 
          + "<label title='abc' class='it pull-left' style='font-style: italic;float: left;max-width: 3.6in; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;'>abc</label>" 
         + "</div>" 
         + "<div style='font-size: 10pt;margin: auto;max-width: 12in;'>" 
          + "<table style='width: 7.5in;'>" 
           + "<tbody><tr>" 
            + "<td>" 
             + "<div style='text-align: center; display: grid;'>" 
              + "<label class='' style='font-style: italic;float: left;line-height: 1.0;margin: 0;font-size: 20pt;'>1</label>" 
              + "<label style='float: left;clear: both;line-height: 1;margin: 0 0px;text-transform: capitalize;'>abc</label>" 
             + "</div>" 
            + "</td>" 
            + "<td>" 
             + "<div style='text-align: center; display: grid;'>" 
              + "<label style='font-style: italic;float: left;line-height: 1.0;margin: 0;font-size: 20pt;' class=''>2</label>" 
              + "<label style='float: left;clear: both;line-height: 1;margin: 0 0px;text-transform: capitalize;' class=''>efg</label>" 
             + "</div>" 
            + "</td>" 
            + "<td>" 
             + "<div style='text-align: center; display: grid;'>" 
              + "<label style='font-style: italic;float: left;line-height: 1.0;margin: 0;font-size: 20pt;'>3</label>" 
              + "<label style='float: left;clear: both;line-height: 1;margin: 0 0px;text-transform: capitalize;'>jkl</label>" 
             + "</div>" 
            + "</td>" 
            + "<td>" 
             + "<div style='text-align: center; display: grid;'>" 
              + "<label style='font-style: italic;float: left;line-height: 1.0;margin: 0;font-size: 20pt;'>4</label>" 
              + "<label style='float: left;clear: both;line-height: 1;margin: 0 0px;text-transform: capitalize;'>afqw</label>" 
             + "</div>" 
            + "</td>" 
            + "<td>" 
             + "<div style='text-align: center; display: grid;'>" 
              + "<label style='font-style: italic;float: left;line-height: 1.0;margin: 0;font-size: 20pt;'>5</label>" 
              + "<label style='float: left;clear: both;line-height: 1;margin: 0 0px;text-transform: capitalize;'>qw</label>" 
             + "</div>" 
            + "</td>" 
           + "</tr>" 
          + "</tbody></table>" 
         + "</div>" 
        + "</div>" 
        + "<div style='background: url(../imgs/large.png) no-repeat; height: 0.12in; background-position: 0 0px; background-repeat-x: repeat;' class='mainHeaderSeparation'></div>" 
       + "</div>" 
      + "</div>" 
      + "</body>" 
} 

在這裏,我將其轉換爲PDF

LicenseKey.loadLicenseFile(LICENSE); 
 
PdfWriter writer = new PdfWriter(destination_file); 
 
PdfDocument pdf = new PdfDocument(writer); 
 
pdf.addNewPage(PageSize.A2); 
 
ConverterProperties prop = new ConverterProperties(); 
 
HtmlConverter.convertToPdf(html, pdf, prop);

但PDF沒有背景圖片重複X。如果我做錯了什麼,請幫助我嗎?或缺少任何步驟。 任何幫助/建議,將不勝感激。

注意:沒有圖像url路徑的問題,我看到的圖像,但沒有x重複模式。 謝謝。的

回答

0

使用屬性background-image代替background

<div style="background-image: url(../imgs/large.png)... 

CSS語法<div style="background-image:url(bgimage.jpg)">