首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Word文档转换为内存中的pdf字节数组

将Word文档转换为内存中的pdf字节数组
EN

Stack Overflow用户
提问于 2016-01-21 10:13:55
回答 1查看 4.9K关注 0票数 4

我需要打开一个Microsoft文档,替换一些文本,然后转换成一个pdf字节数组。我已经创建了这样做的代码,但它涉及到将pdf保存到磁盘,并将字节读入内存。我想避免将任何东西写入磁盘,因为我不需要保存文件。

下面是我迄今所做的代码..。

代码语言:javascript
运行
复制
using System.IO;
using Microsoft.Office.Interop.Word;

public byte[] ConvertWordToPdfArray(string fileName, string newText)
{
    // Temporary path to save pdf
    string pdfName = fileName.Substring(0, fileName.Length - 4) + ".pdf";

    // Create a new Microsoft Word application object and open the document
    Application app = new Application();
    Document doc = app.Documents.Open(docName);

    // Make any necessary changes to the document
    Selection selection = doc.ActiveWindow.Selection;
    selection.Find.Text = "{{newText}}";
    selection.Find.Forward = true;
    selection.Find.MatchWholeWord = false;
    selection.Find.Replacement.Text = newText;
    selection.Find.Execute(Replace: WdReplace.wdReplaceAll);

    // Save the pdf to disk
    doc.ExportAsFixedFormat(pdfName, WdExportFormat.wdExportFormatPDF);

    // Close the document and exit Word
    doc.Close(false);
    app.Quit();
    app = null;

    // Read the pdf into an array of bytes
    byte[] bytes = File.ReadAllBytes(pdfName);

    // Delete the pdf from the disk
    File.Delete(pdfName);

    // Return the array of bytes
    return bytes;
}

在不写入磁盘的情况下,如何实现相同的结果?整个操作需要在内存中运行。

为了解释为什么我需要这样做,我希望ASP.NET MVC应用程序的用户能够将报表模板上传为word文档,当返回到浏览器时,该文档将被呈现为pdf。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-21 10:35:14

有两个问题:

  • 互操作程序集这个词通常不能写入磁盘以外的其他源。这主要是因为SDK是一个基于UI的SDK,因为它高度依赖UI,所以它不打算做后台的事情。(实际上,它只是UI应用程序的包装器,而不是它背后的逻辑层)
  • 不应在ASP.NET上使用Office程序集。请阅读办公服务器端自动化的几点思考,其中声明: Microsoft目前不建议也不支持来自任何无人值守、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)的Microsoft应用程序的自动化,因为在此环境中运行Office时,Office可能会出现不稳定的行为和/或死锁。

所以这是不可以的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34920847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档