2016-11-15 30 views
0

我有一個動態文本,其中包含未知行數。這個行數可以在1到1000之間。 現在我想創建一個PDF文檔,如果達到特定行數,它會自動創建一個新頁面。帶多行文本的自動多頁面

我已經發現它可能會與MigraDoc一起使用,但我已經測試過它,並且它沒有像我測試過的那樣工作。

 // You always need a MigraDoc document for rendering. 

     Document doc = new Document(); 

     MigraDoc.DocumentObjectModel.Section sec = doc.AddSection(); 

     // Add a single paragraph with some text and format information. 

     MigraDoc.DocumentObjectModel.Paragraph para = sec.AddParagraph();  
     para.Format.Alignment = ParagraphAlignment.Justify;  
     para.Format.Font.Name = "Times New Roman";  
     para.Format.Font.Size = 12;   
     para.Format.Font.Color = MigraDoc.DocumentObjectModel.Colors.DarkGray;  
     para.Format.Font.Color = MigraDoc.DocumentObjectModel.Colors.DarkGray;  
     para.AddText("Duisism odigna acipsum delesenisl ");   
     para.AddFormattedText("ullum in velenit", TextFormat.Bold);  
     para.AddText(" ipit iurero dolum zzriliquisis nit wis dolore vel et nonsequipit, velendigna " +   
     "auguercilit lor se dipisl duismod tatem zzrit at laore magna feummod oloborting ea con vel " + 
     "essit augiati onsequat luptat nos diatum vel ullum illummy nonsent \nA \n B\nV \nD \nE\nF\nG\nA \n B\nV \nD \nE\nF\nG\nA \n B\nV \nD \nE\nF\nG\nA \n B\nV \nD \nE\nF\nG\nA \n B\nV \nD \nE\nF\nGnit ipis et nonsequis " +   
     "niation utpat. Odolobor augait et non etueril landre min ut ulla feugiam commodo lortie ex " +   
     "essent augait el ing eumsan hendre feugait prat augiatem amconul laoreet. ≤≥≈≠");  
     para.Format.Borders.Distance = "5pt";   
     para.Format.Borders.Color = MigraDoc.DocumentObjectModel.Colors.Gold; 
     // Create a renderer and prepare (=layout) the document 
     MigraDoc.Rendering.DocumentRenderer docRenderer = new DocumentRenderer(doc);   
     docRenderer.PrepareDocument(); 

這是我從MigraDoc例如接過代碼,但它並沒有真正的工作,因爲我想要的。與其在適當數量的行後創建新頁面,不如在第一頁的邊界之外進一步寫入。

你可以給我一個例子,其中多行文本創建一個新的頁面,如果適當的行數ist達到?

+0

嗯,問題是,這個文本只是一個例子來測試長文本。在一個真實的例子中,只是一個變量而不是文本,但它也可以與本文一樣長。我每次都必須分割這些文字嗎?如果是的話,我怎樣才能做到這一點,以改變行號?我正在使用Migradoc 1.32 – Benziner

回答

0

從MigraDoc創建PDF文檔,使用PdfDocumentRenderer類,並根據需要,您將獲得儘可能多的網頁。

樣品可以在這裏找到:
http://www.pdfsharp.net/wiki/HelloMigraDoc-sample.ashx

DocumentRenderer您正在使用的類是特殊情況。按照設計,它不能自動處理分頁符。

+0

那麼這正是不能幫助我的。 這些例子太大,而且問題太多,我必須關注它,直到它真正起作用。 能不能給我與越過2頁,這樣我可以看到什麼是真正需要的應該是一個文本非常小的例子嗎? 我已經測試MigraDoc的例子,但它在不同的點停止調試。這就是爲什麼我問一個小例子 – Benziner