2016-11-15 29 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の例から取ったコードですが、実際には私が望むように動作しません。適切な数の行の後に新しいページを作成するのではなく、最初のページの境界線からさらに離れて書き込むだけです。

適切な数の行に達していない場合、複数行のテキストが新しいページを作成する例を教えてください。

+0

問題は、このテキストが長いテキストをテストするための単なる例にすぎないということです。実際の例では、テキストはテキストの代わりに変数になりますが、このテキストの長さにもなります。毎回このテキストを分割する必要がありますか?そしてもしそうなら、どうすれば行番号を変えることができますか?私はMigradoc 1.32を使用しています – Benziner

答えて

0

MigraDocからPDFドキュメントを作成するには、PdfDocumentRendererクラスを使用すると、必要な数のページが得られます。

サンプルは、ここで見つけることができます:
http://www.pdfsharp.net/wiki/HelloMigraDoc-sample.ashx

使用しているDocumentRendererクラスは特殊なケースです。設計上、ページ区切りを自動的に処理することはできません。

+0

まあまあまあ私を助けないものです。 例が大きすぎ、問題が多すぎます。実際に動作するまでは、それを重視する必要があります。 2ページ以上のテキストを含む非常に小さな例を教えてもらって、それに本当に必要なものが見えるようにすることはできますか? 私はすでにMigraDocの例をテストしましたが、異なる点でデバッグを停止します。だから私は小さな例を求めている – Benziner

関連する問題