ホームページ >バックエンド開発 >C++ >C#またはVB.NETを使用して、WordドキュメントをPDFSにプログラム的に変換するにはどうすればよいですか?

C#またはVB.NETを使用して、WordドキュメントをPDFSにプログラム的に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-26 13:46:09361ブラウズ

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

Word 文書を PDF に変換するための C# または VB.NET プログラミング

プログラムによって Word ファイルを PDF 形式に変換することは、特にオープンソースまたは安価なソリューションを探している場合には困難な場合があります。このガイドでは、C# または VB.NET を使用してこの変換を実行する手順を説明します。

方法 1: 反復的な画像変換

この方法では、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>

方法 2: 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ドキュメントをPDFSにプログラム的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。