Мне поручено создать приложение на C #, которое генерирует многостраничный документ. Я использовал interop.word для генерации своих страниц. Хотя с генерацией страниц все в порядке, иногда я получаю дикую пустую страницу, от которой я не могу избавиться во время генерации.
Мои страницы различаются по длине; у некоторых есть страница, полная текста, и у некоторых есть четверть страницы, заполненной текстом.
Как я могу сделать так, чтобы я не получал ненужные пустые страницы в моих сгенерированных документах?
Я пытался использовать функцию ниже. Все, что он делает, это вставляет разрыв страницы.
private void newPage(Word._Document doc)
{
doc.Words.Last.InsertBreak(Word.WdBreakType.wdPageBreak);
}
Пример создания новой страницы:
else if (iter == "Bedrijfsinformatie")
{
createParagraphIntro(oDoc, oMissing, paragraph, 16, "Cambria", 0, 0, Word.WdParagraphAlignment.wdAlignParagraphLeft, true, false, true);
createParagraphIntro(oDoc, oMissing, paragraph1, 9, "Cambria", 1, 0, Word.WdParagraphAlignment.wdAlignParagraphLeft, false, false, true);
createParagraphIntro(oDoc, oMissing, paragraph2, 9, "Cambria", 1, 0, Word.WdParagraphAlignment.wdAlignParagraphLeft, false, false, true);
createParagraphIntro(oDoc, oMissing, paragraph3, 9, "Cambria", 1, 0, Word.WdParagraphAlignment.wdAlignParagraphLeft, false, false, true);
createParagraphIntro(oDoc, oMissing, paragraph4, 9, "Cambria", 1, 0, Word.WdParagraphAlignment.wdAlignParagraphLeft, false, false, true);
createParagraphIntro(oDoc, oMissing, paragraph5, 9, "Cambria", 1, 0, Word.WdParagraphAlignment.wdAlignParagraphLeft, false, false, true);
createParagraphIntro(oDoc, oMissing, paragraph6, 9, "Cambria", 1, 0, Word.WdParagraphAlignment.wdAlignParagraphLeft, false, false, true);
createParagraphIntro(oDoc, oMissing, paragraph7, 9, "Cambria", 6, 0, Word.WdParagraphAlignment.wdAlignParagraphLeft, false, false, true);
//newPage(oDoc);
}
и метод createParagraphIntro:
private void createParagraphIntro(Word._Document oDoc, object oMissing, string paragraphcontent, int fontsize, string fontname, int SpaceAfter,int spaceBefore, Word.WdParagraphAlignment alignment, bool bold, bool header,bool insertparagraph)
{
Word.Paragraph oPara;
oPara = oDoc.Content.Paragraphs.Add(ref oMissing);
object oStyleName = Word.WdBuiltinStyle.wdStyleHeading1;
object oStyleName1 = Word.WdBuiltinStyle.wdStyleNormal;
// to set the heading
if (header == true)
oPara.Range.set_Style(ref oStyleName);
else
oPara.Range.set_Style(ref oStyleName1);
// to make the text bold
if (bold == true)
oPara.Range.Font.Bold = 1;
else
oPara.Range.Font.Bold = 0;
oPara.Range.Text = paragraphcontent;
oPara.Format.SpaceBefore = spaceBefore * 10;
oPara.Format.SpaceAfter = SpaceAfter*10; // spacing after paragraph.
oPara.Range.Font.Size = fontsize;
oPara.Range.Font.Name = fontname;
oPara.Range.ParagraphFormat.Alignment = alignment;
oPara.Range.InsertParagraphAfter();
}
Я ожидаю, что мое приложение сгенерирует текстовый документ без пустых страниц. На данный момент это не так.
Я надеюсь, что кто-нибудь может мне помочь с этой проблемой.
Edit:
Не обращайте внимания на язык, я голландец.
изображение 1:
Изображение 2: