2016-06-20 2 views
3

я получил следующий код для простого добавления двух текстовых полей-содержимого в PDF-файл:PDFsharp: динамический генерирующий документ

using System; 
using System.Windows.Forms; 
using PdfSharp.Pdf; 
using MigraDoc.DocumentObjectModel; 
using MigraDoc.Rendering; 

namespace pdfDynamic 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      //Creating the document 
      Document document = new Document(); 
      Section section = document.AddSection(); 

      //Adding the first paragraph 
      section.AddParagraph(richTextBox1.Text); 

      //Adding the second paragraph 
      section.AddParagraph(richTextBox2.Text); 

      //Creating the document 
      PdfDocumentRenderer renderer = new PdfDocumentRenderer(false, PdfFontEmbedding.Always); 
      renderer.Document = document; 
      renderer.RenderDocument(); 
      string pdfFilename = string.Format("Rekla-{0:dd.MM.yyyy_hh-mm-ss}.pdf", DateTime.Now); 
      renderer.PdfDocument.Save(pdfFilename); 

     } 
    } 
} 

Как я обнаружить, если второй пункт появляется с первой страницы на второй страница? В этом случае я хочу поставить второй абзац только на вторую страницу.

Мой английский не лучший. Может быть, мои «краски навыков» являются лучше помогают описать проблему: current and desired situation

ответ

1

Попробуйте создать пункт и использовать KeepTogether

Paragraph p; 
p.Format.KeepTogether = true; 
p.AddFormattedText(richTextBox2.Text);