PdfSharp:动态生成文档

时间:2016-06-20 07:34:10

标签: c# dynamic pdfsharp

我得到以下代码,只需将两个文本框内容添加到pdf文件中:

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 个答案:

答案 0 :(得分:1)

尝试创建段落并使用KeepTogether

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