首页 > 后端开发 > C++ > 如何使用c#或vb.net编程将Word文档编程转换为PDF?

如何使用c#或vb.net编程将Word文档编程转换为PDF?

Barbara Streisand
发布: 2025-01-26 13:46:09
原创
357 人浏览过

How Can I Programmatically Convert Word Documents to PDFs Using C# or VB.NET?

C#或VB.NET编程转换Word文档为PDF

将Word文件编程转换为PDF格式可能面临挑战,尤其是在寻找开源或廉价解决方案时。本指南将引导您完成使用C#或VB.NET执行此转换的步骤。

方法一:迭代图像转换

此方法涉及将Word文档的每一页转换为图像,然后以PNG格式保存。

<code class="language-csharp">int j = 0;
foreach (Microsoft.Office.Interop.Word.Page p in pane.Pages)
{
    var bits = p.EnhMetaFileBits;
    var target = path1 + j.ToString() + "_image.doc";
    try
    {
        using (var ms = new MemoryStream((byte[])(bits)))
        {
            var image = System.Drawing.Image.FromStream(ms);
            var pngTarget = Path.ChangeExtension(target, "png");
            image.Save(pngTarget, System.Drawing.Imaging.ImageFormat.Png);
        }
    }
    catch (System.Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    j++;
}</code>
登录后复制

方法二:使用Microsoft Word的“另存为”功能

如果您有权访问带有“另存为PDF”加载项的Microsoft Word,则可以以编程方式触发此过程。

<code class="language-csharp">// 创建新的Microsoft Word应用程序对象
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();

// C#没有可选参数,因此我们需要一个虚拟值
object oMissing = System.Reflection.Missing.Value;

// 获取指定目录中Word文件的列表
DirectoryInfo dirInfo = new DirectoryInfo(@"\server\folder");
FileInfo[] wordFiles = dirInfo.GetFiles("*.doc");

foreach (FileInfo wordFile in wordFiles)
{
    // 作为Object强制转换为word Open方法
    Object filename = (Object)wordFile.FullName;

    // ...

    object outputFileName = wordFile.FullName.Replace(".doc", ".pdf");
    object fileFormat = WdSaveFormat.wdFormatPDF;

    // 将文档保存为PDF格式
    doc.SaveAs(ref outputFileName,
        ref fileFormat, ref oMissing, ref oMissing,
        ref oMissing, ref oMissing, ref oMissing, ref oMissing,
        ref oMissing, ref oMissing, ref oMissing, ref oMissing,
        ref oMissing, ref oMissing, ref oMissing, ref oMissing);

    // ...
}</code>
登录后复制

以上是如何使用c#或vb.net编程将Word文档编程转换为PDF?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板