C# 使用Microsoft.Office.Interop.Word 将WORD转成PDF

这篇具有很好参考价值的文章主要介绍了C# 使用Microsoft.Office.Interop.Word 将WORD转成PDF。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    /// <summary>
    /// 测试文件
    /// </summary>
    /// <param name="input">文件名</param>
    /// <returns></returns>
    [ApiDescriptionSettings(Name = "Getword")]
    [HttpGet]
    public IActionResult getWord(string wordName)
    {
        string templatePath = "D:\\Template\\wordTemplate.docx";
        string log = "D:\\Template\\l123jpg";
        var tt = new MiniWordPicture() { Extension = DocumentFormat.OpenXml.Packaging.ImagePartType.Jpeg.ToString(), Bytes = File.ReadAllBytes(log), Width = 200, Height = 100 };
        var baidu = new MiniWordHyperLink()
        {
            Url = "https://www.baidu.com/",
            Text = "百度"
        };
        //var tt = new MiniWordPicture() { Extension = ImagePartType.Jpeg.ToString(), Bytes = FileToByte(log), Width = 100, Height = 100 };
        var endDate = new MiniWordColorText { Text = DateTime.Parse("2022-09-15 15:30:00").ToString(), HighlightColor = "#eb70AB", FontColor = "#ffffff" };
        var value = new Dictionary<string, object>()
        {
            ["Name"] = "Jack",
            ["Department"] = "IT Department",
            ["Purpose"] = "Shanghai site needs a new system to control HR system.",
            ["StartDate"] = DateTime.Parse("2022-09-07 08:30:00"),
            ["EndDate"] = endDate,//
            ["Approved"] = true,
            ["Total_Amount"] = 123456,
            //["Logo"] = new MiniWordPicture() { Path = log, Width = 180, Height = 180 },
            ["Logo"] = tt,
            ["baidu"] = baidu,
            ["person"] = new List<Dictionary<string, object>> {
                 new Dictionary<string, object>{ { "name","wade"},{ "age","HR" } },
                 new Dictionary<string, object>{ { "name","admin"},{ "age","it" } },
                 new Dictionary<string, object>{ { "name","erid"},{ "age","测试" } },
                 new Dictionary<string, object>{ { "name","张三"},{ "age","HR" } },
                 new Dictionary<string, object>{ { "name","大"},{ "age","HR在" } },
            }
        };
        MemoryStream wordStream = new MemoryStream();
        MiniWord.SaveAsByTemplate(wordStream, templatePath, value);
        wordStream.Close();

        return new FileStreamResult(new MemoryStream(wordStream.GetBuffer()), "application/octet-stream") { FileDownloadName = wordName + ".docx" };
    }


    public static byte[] ConvertWordToPdf(string wordUrl, string pdfUrl)
    {

        wordUrl = "D:\\Template\\wordTemplate.docx";  //源word地址
         pdfUrl = @"D:\WechatFile\123.pdf";  //生成后的pdf文件地址
        // 创建Word应用程序对象
        Microsoft.Office.Interop.Word.Application wordApplication = new Microsoft.Office.Interop.Word.Application();

        // 将Word文件加载到Document对象中
        Document document = wordApplication.Documents.Open(wordUrl);

        // 创建内存流,并将PDF文件流保存到其中
        MemoryStream pdfStream = new MemoryStream();
        document.SaveAs(pdfUrl, WdExportFormat.wdExportFormatPDF);

        // 关闭Word文档和应用程序对象
        document.Close(false);
        wordApplication.Quit(false);

        // 将生成的PDF转换为byte数组并返回
        byte[] pdfBytes = pdfStream.ToArray();
        pdfStream.Close();

        return pdfBytes;
    }

c# office 2007 word转pdf,“记录”,word,pdf,c#

对应的几个dll版本都在截图中,在nuget 中都可以下载  无水印的文章来源地址https://www.toymoban.com/news/detail-842076.html

到了这里,关于C# 使用Microsoft.Office.Interop.Word 将WORD转成PDF的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Microsoft.Office.Interop.Word的COM 对象强制转换为接口类型失败

    System.InvalidCastException:“无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库

    2024年02月12日
    浏览(14)
  • 无法将为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型

    无法将为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型

    报错: 无法将为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型 安装了多版本的Office 安装过WPS后没正常卸载 以下四个操作基本覆盖常见原因了,可以从2.1.1尝试,每尝试一种,就去试一下看问题解决了没有,如果已经解决了,其他操作就不用试了 2.

    2024年02月04日
    浏览(13)
  • C#调用office interop接口打开word、excel、ppt,拦截处理关闭、保存事件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WordLib = Microsoft.Office.Interop.Word; using ExcelLib = Microsoft.Office.Interop.Excel; using PptLib = Microsoft.Office.Interop.PowerPoint

    2024年02月07日
    浏览(20)
  • 未能加载文件或程序集“Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=7
  • C#使用Microsoft.office.interop.PowerPoint生成PPT

    开发的一个系统需要用到自动生成ppt,网上的例子比较少,且有很多还需要csdn币下载,有些下载下来了还不是那么回事,就是个坑。后来考虑了开源组件Apose.Slides和Spire.Presentation,但是这两个都是商业软件,试用版和免费版的只有能生成前10页,还带有水印。Free Spire.Presentat

    2024年02月11日
    浏览(13)
  • c# 使用Microsoft.Office.Interop.Excel 对Excel操作

    c# 使用Microsoft.Office.Interop.Excel 对Excel操作

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 Microsoft.Office.Interop.Excel的读取,保存,内容写入和打印。 提示:以下是本篇文章正文内容,下面案例可供参考     首先于Proj

    2024年02月03日
    浏览(11)
  • 在Microsoft Office Word中体验笔墨飞扬的感觉(如何在Office Word中使用画笔功能)

    在Microsoft Office Word中体验笔墨飞扬的感觉(如何在Office Word中使用画笔功能)

    单击开始菜单中的“Office”,单击左侧最上方的小房子图标,在右侧单击“安装Office”。 在弹出的网页中单击“安装Office”,在弹出的窗口中单击“安装”。 之后会下载一个安装程序,单击安装程序进行安装。 安装完成后,打开开始菜单,可在“最近添加”一栏看到Word,单

    2024年02月10日
    浏览(13)
  • C# WinForm 使用Microsoft.Office.Interop.Excel对Excel文件表格的单元格值进行修改操作

    C# WinForm 使用Microsoft.Office.Interop.Excel对Excel文件表格的单元格值进行修改操作

    在引用位置点击右键 点击管理NUGet程序包 搜索Excel,在搜索结果中点击Microsoft.Office.Interop.Excel 然后点击安装即可,搜不到的话,在右侧程序包源位置改成全部再次搜索 。 对准项目,点击右键,在弹出菜单选择添加,选择类 类名称随意,然后清空新建类得到全部内容,把下面

    2024年02月13日
    浏览(11)
  • C#调用Microsoft.Office.Interop.Excel时的常见操作功能

    C#调用Microsoft.Office.Interop.Excel时的常见操作功能

    using Microsoft.Office.Interop.Excel;//引用Microsoft.Office.Interop.Excel //声明一个Excel Application  Microsoft.Office.Interop.Excel.Application appExcel = new Microsoft.Office.Interop.Excel.Application();                 //声明一个Excel Workbook                 Microsoft.Office.Interop.Excel.Workbook workbookData;            

    2024年02月12日
    浏览(18)
  • Microsoft office Word 批注相关问题解决

    Microsoft office Word 批注相关问题解决

    1.菜单栏栏点击 审阅 2.在审阅工具栏中找到批注框选择显示批注 此时会显示出批阅栏 3.将鼠标放置需增添批注的位置上点击新建批注,则可进行编辑。 在审阅菜单下找到修订栏中标记框位置选择无标记,此时Word中无批注显示(打印或转换PDF文件也不会显示批注)同理如选择

    2024年02月05日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包