builderTemplate.MoveToBookmark(“JSMB”);
docTemplate.FirstSection.PageSetup.SectionStart = SectionStart.Continuous;
asposeDC.insertDocumentAfterBookMark(docTemplate, docJSMB, “JSMB”);
以上代码是将一个docJSMB文档追加到docTemplate文档的"JSMB"标签处,生成的word文档中这个地方衔接处会产生空白行,有时候会有空白页,我就是想咨询一下,这些空白行或者空白页通过后续的操作有办法删除掉吗?
Aspose.Words 19.1生成的输出文档显示了不良行为
您的预期文档显示正确的输出。 您可以使用MS Word创建预期文档。
还请创建一个独立的简单控制台应用程序(没有编译错误的源代码),这有助于我们在最终重现您当前的问题并将其附加到此处进行测试。 请不要在其中包含Aspose.Words DLL文件以减小文件大小。
突出显示Aspose.Words中有问题区域的对比屏幕截图生成了关于您的预期’.docx’的’.docx’文件并将其附加到此处进行测试
一旦您准备好这些信息,我们将立即开始调查您的问题,并为您提供更多信息。 谢谢你的合作。
真的非常感谢您的回答,我这个问题的重心是如何删除空白行和空白页,而不是空白行和空白页是如何产生的,因为这个空白行和空白页不一定是Aspose产生的。我这样问这个问题吧:我有一个word文档,文档的内容包含空白行和空白页,如何使用aspose.words for .net去掉这个空白行和空白页呢?
比如我上传的附件文档中,原始文档是test.doc,如何去掉里面的空白行和空白页变成test1.doc呢?
万分感谢!!!!!
Template.zip
(4.1 KB)
@pechem
,
您可以使用以下代码从Word文档中删除空白行和空白页。
Document doc = new Document("E:\\template\\test1.doc");
foreach (Paragraph para in doc.GetChildNodes(NodeType.Paragraph, true))
if (string.IsNullOrEmpty(para.ToString(SaveFormat.Text).Trim()))
para.Remove();
doc.Save("E:\\template\\19.1.doc");
希望这可以帮助。
您可以通过索引获取任何段落,如果它为空,则将其删除:
Paragraph para = doc.FirstSection.Body.Paragraphs[5];
if (string.IsNullOrEmpty(para.ToString(SaveFormat.Text).Trim()))
para.Remove();
使用[LayoutCollector.GetEndPageIndex]方法获取该段落的页码。
获取本段的下一个和上一个兄弟姐妹,并检查他们所包含的页码
如果兄弟姐妹的页面索引与目标段落的页面索引不同,则表示具有分页符的段落在该页面上是唯一的
在这种情况下,您只需删除该段落即可
希望这可以帮助。