2017-09-04 72 views
-2

你好我正在用iText創建javafx應用程序。我有HTML編輯器來寫文本,我想從中創建PDF。一切正常,但當我有一個很長的行,在HTML編輯器中包裝,在pdf中不包裝,它的頁面外,我如何設置包裝頁?這裏是我的代碼:IText html到pdf包裝線

PdfWriter writer = null; 
try { 
    writer = new PdfWriter("doc.pdf"); 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} 

//Initialize PDF document 
PdfDocument pdf = new PdfDocument(writer); 

// Initialize document 
Document document = new Document(pdf, PageSize.A4); 
List<IElement> list = null; 
try { 
    list = HtmlConverter.convertToElements(editor.getHtmlText()); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

// add elements to document 
for (IElement p : list) { 
    document.add((IBlockElement) p); 
} 

// close document 
document.close(); 

我也想設置行距此文

謝謝大家幫忙

+0

默認的A4頁面寬度爲595 pt。如果你定義了一個寬度爲700點的「div」,內容將以700點而不是在「頁尾」包裝。我敢打賭,你的問題與此無關,但由於你不分享你的HTML代碼,你已經無法回答你的問題。 –

+0

我從javafx html編輯器獲得了html,我只寫這個字段 –

+0

該評論如何有用?如果您的HTML編輯器允許您創建比A4頁面更寬的內容,則應該創建頁面更寬的文檔。有90%的可能性是你指責iText做正確的事情。 –

回答

2

我不明白以下代碼的任何錯誤:

public class stack_overflow_0008 extends AbstractSupportTicket{ 

    private static String LONG_PIECE_OF_TEXT = 
     "Once upon a midnight dreary, while I pondered, weak and weary," + 
     "Over many a quaint and curious volume of forgotten lore—" + 
     "While I nodded, nearly napping, suddenly there came a tapping," + 
     "As of some one gently rapping, rapping at my chamber door." + 
     "Tis some visitor,」 I muttered, 「tapping at my chamber door—" + 
     "Only this and nothing more."; 

    public static void main(String[] args) 
    {   

     PdfWriter writer = null; 
     try { 
      writer = new PdfWriter(getOutputFile()); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
     //Initialize PDF document 
     PdfDocument pdf = new PdfDocument(writer); 

     // Initialize document 
     Document document = new Document(pdf, PageSize.A4); 
     List<IElement> list = null; 
     try { 
      list = HtmlConverter.convertToElements("<p>" + LONG_PIECE_OF_TEXT + "</p>"); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     for (IElement p : list) { 
      document.add((IBlockElement) p); 
     } 
     document.close(); 
    } 
} 

該文檔是單頁(A4)頁面PDF,其中一個字符串整齊地包裝。

我想也許你的字符串的內容是責怪?
你可以發佈你從這個編輯器對象得到的HTML嗎?

更新:

運用上的HTML這個答案的問題的新註釋共享的代碼,我得到以下結果:

enter image description here

正如你所看到的,內容分佈在兩條線上。沒有內容「脫離頁面」。