【问题标题】:Split Doc file Pages And Convert To PDF with gembox Document使用 gembox Document 拆分 Doc 文件页面并转换为 PDF
【发布时间】:2020-04-14 21:14:52
【问题描述】:

我想通过在每一页(可能在一页或更多页上)搜索特定单词来将该页的全部内容转换为 PDF。 例如,我们有一个文件有三页,第一页有一个特殊词,第三页有下一个特殊词。我想将 PDF 从第一页保存到第二页,然后分别保存第三页。 PDF 文件将根据该页面上的特定单词命名。

我的问题是我不知道如何循环每个页面并阅读该页面的内容以获取特殊单词并将页面保存为 PDF。 谢谢你

【问题讨论】:

  • 所有发布的都是程序描述。但是,我们需要您根据How to Ask 页面提出问题。我们无法确定您想从我们这里得到什么。请edit您的帖子包含一个我们可以回答的有效问题。提醒:通过访问help center,确保您知道这里的主题是什么;要求我们为您编写程序、建议和外部链接都是题外话。

标签: c# gembox-document


【解决方案1】:

你可以这样做。

  1. 使用 DocumentModel.GetPaginator 方法对 Word 文档进行分页。
  2. 使用FrameworkElement.ToText扩展方法读取每一页的文字内容。
  3. 使用DocumentModelPage.Save 方法将所选页面保存为PDF。

换句话说,尝试以下方法:

string search = "Your Specific Word";
string inputPath = "input.docx";

// Load Word document.
var document = DocumentModel.Load(inputPath);

// 1. Get document's pages.
var pages = document.GetPaginator().Pages;

for (int i = 0, count = pages.Count; i < count; ++i)
{
    // 2. Read page's text content.
    DocumentModelPage page = pages[i];
    string pageTextContent = page.PageContent.ToText();

    // 3. Save page as PDF.
    if (pageTextContent.Contains(search))
    {
        string outputPath = $"{search}_{i}.pdf";
        page.Save(outputPath);
    }
}

【讨论】:

  • 嗨马里奥。感谢重播。这项工作但是这个导出总是一页,如果第一页和第三页中存在特定的单词,我想要导出 2 个文件(一个文件:第一页到第二页)(第二个文件:只有第三页)
  • @SamSamangi 你能把你的Word文档上传到某个地方,然后给我发个链接让我看看吗?
  • 解决此问题的一种方法是将所需的页面一一保存到单独的 PDF 文件中,然后 merge those PDF files into one。或者您可以找到what content is on what Word page,然后删除所有不在目标页面范围内的内容,并将生成的整个DocumentModel 保存为PDF。我建议使用第一种方法,它更容易。
猜你喜欢
  • 2012-04-14
  • 2021-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 2019-06-15
  • 1970-01-01
  • 2013-06-06
相关资源
最近更新 更多