Хотите создать ландшафтный pdf с помощью Flying Saucer

У меня есть приведенный ниже html, когда я конвертирую его в PDF с помощью летающей тарелки, он не подходит для портретного формата A4. Как создать альбомный pdf-файл.

<html>

<head>
  <title>
    Selenium Test SC
  </title>
</head>

<body style='font-family:Tahoma;font-size:9pt;letter-spacing:0.5px'>
  <table border='1' style='color:black;font-size:12px;'>
    <tr>
      <td>
        <a href="file:///C:/Users/611066167/Documents/Sel%20Test%20Result/Screenshots/Screen1.png" target="_blank">
NGSD:TMD (Search)
<img src="file:///C:/Users/611066167/Documents/Sel%20Test%20Result/Screenshots/Screen1.png" title="NGSD:TMD (Search)" style="width:100%;height:100%" alt="NGSD:TMD (Search)" border="0">
</a>
      </td>
    </tr>
  </table>
</body>

</html>

Я использую приведенный ниже код для преобразования html в pdf.

inputFile = "C:/Users/611066167/Documents/Sel Test Result/screenfile.html"; 
outputFile = "C:/Users/611066167/Documents/Sel Test Result/screenfile.pdf"; 
generatePDF(inputFile, outputFile); 


public void generatePDF(String inputHtmlPath, String outputPdfPath)
{
    try
    {     
        String url = new File(inputHtmlPath).toURI().toURL().toString(); 
        System.out.println("URL: " + url);
        OutputStream out = new FileOutputStream(outputPdfPath); 

        // Flying Saucer part 
        ITextRenderer renderer = new ITextRenderer();   
        renderer.setDocument(url);
        renderer.layout(); 
        renderer.createPDF(out); 

        out.close();
    } 
    catch (DocumentException | IOException e)     
    { 
        // TODO Auto-generated catch block e.printStackTrace(); 
    }
}

person Gourav Sinha    schedule 22.06.2017    source источник
comment
Flying Saucer не является продуктом iText. Если вы хотите преобразовать HTML в PDF с помощью iText, вам нужно использовать pdfHTML: itextpdf.com/ blog/pdfhtml-configuration-options Используйте метод, который принимает экземпляр PdfDocument, и определите размер страницы на уровне PdfDocument.   -  person Bruno Lowagie    schedule 22.06.2017


Ответы (1)


Вы можете настроить свою страницу в ландшафтном режиме с помощью CSS, используя:

<style>
   @page { size: A4 landscape;}
</style>

Размер страницы является частью спецификации CSS 3 и поддерживается летающей тарелкой.

person obourgain    schedule 28.06.2017