title: UTF-8 character html content string to pdf
body: <p>Have to conver html string pdf.Html string contains utf-8 characters.its in other than english language.I already tried with existing solutions</p>
  
  <p>This is my maven code.Here i use 1.3 version of itext and 5.5.6 version of xmlworker.</p>
  
  <pre><code>&lt;dependency&gt;
      &lt;groupId&gt;itext&lt;/groupId&gt;
      &lt;artifactId&gt;itext&lt;/artifactId&gt;
      &lt;version&gt;${itext.version}&lt;/version&gt;
  &lt;/dependency&gt;
  &lt;dependency&gt;
      &lt;groupId&gt;com.itextpdf.tool&lt;/groupId&gt;
      &lt;artifactId&gt;xmlworker&lt;/artifactId&gt;
      &lt;version&gt;${xmlworker.version}&lt;/version&gt;
  &lt;/dependency&gt;
  &lt;itext.version&gt;1.3&lt;/itext.version&gt;
  &lt;xmlworker.version&gt;5.5.6&lt;/xmlworker.version&gt;    
  </code></pre>
  
  <p>This is my java code.This code is working fine for english. its not working for other languages. it shows empty space in that place.</p>
  
  <pre><code>document = new Document();
  PdfWriter docWriter = PdfWriter.getInstance(document, new FileOutputStream(file));
  document.setMargins(5, 5, 25, 5);
  document.setMarginMirroring(false);
  Rectangle rect = new Rectangle(30, 30, 500, 800);
  document.setPageSize(PageSize.A4);
  rect.setBorder(Rectangle.BOX);
  docWriter.setBoxSize("footer", rect);
  document.open();
  
  CSSResolver cssResolver = new StyleAttrCSSResolver();
  CssFile cssFile = XMLWorkerHelper.getCSS(new ByteArrayInputStream("body {font-family:Arial, Arial Unicode MS, sans-serif}".getBytes()));
  cssResolver.addCss(cssFile);
  XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
  fontProvider.register("D:/opt/data/files/ttf/arialuni.ttf");
  CssAppliers cssAppliers = new CssAppliersImpl(fontProvider);
  // HTML
  HtmlPipelineContext htmlContext = new HtmlPipelineContext(cssAppliers);
  htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
  // Pipelines
  ElementList elements = new ElementList();
  ElementHandlerPipeline pdf = new ElementHandlerPipeline(elements, null);
  HtmlPipeline html = new HtmlPipeline(htmlContext, pdf);
  CssResolverPipeline css = new CssResolverPipeline(cssResolver, html);
  InputStream inputStream = new ByteArrayInputStream(pdfFormatData.getBytes(Charset.forName("UTF-8")));
  
  // XML Worker
  XMLWorker worker = new XMLWorker(css, true);
  XMLParser p = new XMLParser(worker);
  p.parse(inputStream, Charset.forName("UTF-8"));
  
  PdfPTable table = new PdfPTable(1);
  PdfPCell cell = new PdfPCell(); 
  cell.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);
  for (Element e : elements) {
  cell.addElement(e);
  }
  table.addCell(cell);
  document.add(table);
  </code></pre>
  
  <p>This is my html content</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;html&gt;
  
  &lt;head&gt;&lt;/head&gt;
  
  &lt;body&gt;
      &lt;table class="table table-responsive borderless datapaneDetailsInfo" style="border: 0px none; width: 100%; border-collapse: collapse;" cellspacing="1" cellpadding="5" align="center"&gt;
          &lt;tbody&gt;
              &lt;tr style="border: 0px solid #000; border-collapse: collapse; border-left: 1px solid #000;"&gt;
                  &lt;td style="border-left: 1px solid #000; border-right: 0px solid #000; border-top: 1px solid #000; border-bottom: 0px solid #000; border-collapse: collapse; display: block;" colspan="1"&gt;
                      &lt;p style="margin: 0; text-align: right;"&gt;&lt;img style="width: 100px; height: 75px;" src="https://app.bizbee.io/images/orgs/brandings/logo_orig635.png" alt="" /&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-right: 1px solid #000; border-top: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse;" colspan="9"&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;&lt;strong style="font-size: 16px;"&gt;aa Malvia Nagar&lt;/strong&gt;&lt;/p&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;JBREDDY NILAYAM, 14-20, 677/584, Hyderabad, 500018, 56565656801 &lt;/p&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt; GSTIN : GSTIN00993315 &lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr style="border: 1px solid #000; border-collapse: collapse;"&gt;
                  &lt;td style="border-left: 1px solid #000; border-bottom: 1px solid #000; border-collapse: collapse;"&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;&lt;strong style="font-size: 15px;"&gt;SO-725&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-collapse: collapse; border-bottom: 1px solid #000;"&gt;
                      &lt;p style="margin: 0; text-align: center; font-size: 15px;"&gt;&lt;strong&gt;26 Jul 2019 Fri&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-collapse: collapse; border-bottom: 1px solid #000; text-align: center;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong style="color: blue;"&gt;CLEAN&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-collapse: collapse; border-bottom: 1px solid #000; text-align: center;"&gt;
                      &lt;p style="margin: 0px;"&gt;&lt;strong style="color: red;"&gt;&lt;/strong&gt;&lt;strong style="color: green;"&gt; PAID &lt;/strong&gt;&lt;/p&gt;
                      &lt;p style="margin: 0px; color: green; font-size: 10px;"&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-right: 1px solid #000; border-collapse: collapse; bor der-bottom: 1px solid #000;" colspan="2"&gt;
                      &lt;p style="margin: 0px;"&gt;&lt;strong&gt; Gggg-6666663322&lt;/strong&gt;&lt;/p&gt;
                      &lt;p style="margin: 0px;"&gt;&lt;strong&gt;14-20-677/583/A&lt;/strong&gt;&lt;/p&gt;
                      &lt;p style="margin: 0px;"&gt;&lt;strong&gt;Tulasi Nagar,Ranga Reddy&lt;/strong&gt;&lt;/p&gt;
                      &lt;p style="margin: 0px;"&gt; &lt;strong&gt;5678932&lt;/strong&gt; &lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr style="border-collapse: collapse;"&gt;
                  &lt;td style="border-right: 1px solid #000; border-left: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000; width: 20%;"&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;AUD : 107585.36
                          &lt;br /&gt; Previous Due&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-right: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000; width: 20%;"&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;AUD : 0.00
                          &lt;br /&gt; Bill Amount&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-right: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000; width: 40%;" colspan="2"&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;AUD : 0.00
                          &lt;br /&gt; Paid Amount&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-right: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000; width: 20%;"&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;AUD : 107585.36
                          &lt;br /&gt; Balance Due&lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr style="border: 1px solid #000; border-collapse: collapse;"&gt;
                  &lt;td style="border-right: 1px solid #000; border-left: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;Total Pcs :  3.00 &lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-right: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000;"&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;&lt;strong&gt;Type :  Regular  &lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-right: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000;" colspan="2"&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;&lt;strong&gt;Created Time: &lt;/strong&gt; 26 Jul 2019 Fri 05:45 PM&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="border-right: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000;" colspan="1"&gt;
                      &lt;p style="margin: 0; text-align: center;"&gt;&lt;strong&gt;Due Date : &lt;/strong&gt; 30 Jul 2019 Tue&lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
          &lt;/tbody&gt;
      &lt;/table&gt;
      &lt;table class="table table-responsive borderless datapaneDetailsInfo" style="border: 0px none; width: 100%; border-collapse: collapse;" cellspacing="1" cellpadding="5" align="center"&gt;
          &lt;tbody&gt;
              &lt;tr style="border-top: 0px solid #000; border-left: 1px solid #000; border-right: 1px solid #000; border-collapse: collapse;"&gt;
                  &lt;td style="width: 15%; border-left: 1px solid #000; border-collapse: collapse;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;Pcs&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 30%; border-collapse: collapse;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;Qty&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 80%; border-collapse: collapse;" colspan="2"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;Particular's&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 100%; border-collapse: collapse; border-right: 1px solid #000;"&gt;
                      &lt;p style="margin: 0; text-align: right;"&gt;&lt;strong&gt;Amount&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
          &lt;/tbody&gt;
      &lt;/table&gt;
      &lt;p style="margin: 0;"&gt; &lt;/p&gt;
      &lt;table class="table table-responsive borderless datapaneDetailsInfo" style="border: 0px none; width: 100%; border-collapse: collapse;" cellspacing="1" cellpadding="5" align="center"&gt;
          &lt;tbody&gt;
              &lt;tr style="border-left: 1px solid #000; border-right: 1px solid #000; border-collapse: collapse;"&gt;
                  &lt;td style="width: 15%; border-collapse: collapse; border-left: 1px solid #000;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt; 1.0 &lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 30%; border-collapse: collapse;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;1.0&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 80%; border-collapse: collapse;" colspan="2"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;డ్రై క్లీన్ - पतलून (DC/DC)&lt;/strong&gt;@0.00 &lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 100%; border-collapse: collapse; border-right: 1px solid #000;"&gt;
                      &lt;p style="margin: 0; text-align: right;"&gt;&lt;strong&gt;0.00&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
          &lt;/tbody&gt;
      &lt;/table&gt;
      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
      &lt;p style="margin: 0;"&gt; &lt;/p&gt;
      &lt;table class="table table-responsive borderless datapaneDetailsInfo" style="border: 0px none; width: 100%; border-collapse: collapse;" cellspacing="1" cellpadding="5" align="center"&gt;
          &lt;tbody&gt;
              &lt;tr style="border-left: 1px solid #000; border-right: 1px solid #000; border-collapse: collapse;"&gt;
                  &lt;td style="width: 15%; border-collapse: collapse; border-left: 1px solid #000;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt; 1.0 &lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 30%; border-collapse: collapse;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;1.0&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 80%; border-collapse: collapse;" colspan="2"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;డ్రై క్లీన్ - టవుజర్ (DC/DC)&lt;/strong&gt;@0.00 &lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 100%; border-collapse: collapse; border-right: 1px solid #000;"&gt;
                      &lt;p style="margin: 0; text-align: right;"&gt;&lt;strong&gt;0.00&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
          &lt;/tbody&gt;
      &lt;/table&gt;
      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
      &lt;p style="margin: 0;"&gt; &lt;/p&gt;
      &lt;table class="table table-responsive borderless datapaneDetailsInfo" style="border: 0px none; width: 100%; border-collapse: collapse;" cellspacing="1" cellpadding="5" align="center"&gt;
          &lt;tbody&gt;
              &lt;tr style="border-left: 1px solid #000; border-right: 1px solid #000; border-collapse: collapse;"&gt;
                  &lt;td style="width: 15%; border-collapse: collapse; border-left: 1px solid #000;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt; 1.0 &lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 30%; border-collapse: collapse;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;1.0&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 80%; border-collapse: collapse;" colspan="2"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;డ్రై క్లీన్ - Top (DC/DC)&lt;/strong&gt;@0.00 &lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 100%; border-collapse: collapse; border-right: 1px solid #000;"&gt;
                      &lt;p style="margin: 0; text-align: right;"&gt;&lt;strong&gt;0.00&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
          &lt;/tbody&gt;
      &lt;/table&gt;
      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
      &lt;table class="table table-responsive borderless datapaneDetailsInfo" style="border: 0px none; width: 100%; border-collapse: collapse;" cellspacing="1" cellpadding="5" align="center"&gt;
          &lt;tbody&gt;
              &lt;tr style="border: 0px solid #000; border-collapse: collapse;"&gt;
                  &lt;td style="width: 33.33%; border-left: 1px solid #000; border-collapse: collapse; border-top: 1px solid #000;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 33.33%; border-collapse: collapse; border-top: 1px solid #000;" colspan="4"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;strong&gt;Booked by : Malik&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 33.33%; border-right: 1px solid #000; border-collapse: collapse; border-top: 1px solid #000;"&gt;
                      &lt;p style="margin: 0; text-align: right;"&gt;&lt;strong&gt;Sub Total : 0.00&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
          &lt;/tbody&gt;
      &lt;/table&gt;
      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
      &lt;table class="table table-responsive borderless datapaneDetailsInfo" style="border: 0px none; width: 100%; border-collapse: collapse;" cellspacing="1" cellpadding="5" align="center"&gt;
          &lt;tbody&gt;
              &lt;tr style="border: 0px solid #000; border-collapse: collapse;"&gt;
                  &lt;td style="width: 40%; border-left: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000;"&gt;
                      &lt;p style="margin: 0; font-size: 10px;"&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 30%; border-collapse: collapse; border-bottom: 1px solid #000;"&gt;
                      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
                  &lt;/td&gt;
                  &lt;td style="width: 30%; border-right: 1px solid #000; border-collapse: collapse; border-bottom: 1px solid #000;"&gt;
                      &lt;p style="margin: 0; text-align: right;"&gt;&lt;strong&gt;Current Due : 0.00&lt;/strong&gt;&lt;/p&gt;
                  &lt;/td&gt;
              &lt;/tr&gt;
          &lt;/tbody&gt;
      &lt;/table&gt;
      &lt;p style="margin: 0;"&gt;&lt;/p&gt;
      &lt;table style="width: 100%;" cellpadding="5"&gt;
          &lt;tbody&gt;
              &lt;tr&gt;
                  &lt;td align="center"&gt;&lt;/td&gt;
              &lt;/tr&gt;
          &lt;/tbody&gt;
      &lt;/table&gt;
  &lt;/body&gt;
  
  &lt;/html&gt;
  </code></pre>