Rumah >pembangunan bahagian belakang >C++ >Bagaimana Menukar Fail Word (.doc) Secara Pemrograman kepada Fail PDF dalam C# atau VB.NET Menggunakan Kaedah Mampu Milik?

Bagaimana Menukar Fail Word (.doc) Secara Pemrograman kepada Fail PDF dalam C# atau VB.NET Menggunakan Kaedah Mampu Milik?

Linda Hamilton
Linda Hamiltonasal
2025-01-26 13:36:39195semak imbas

fail penukaran kata (.doc) secara programatik ke pdf dalam c# atau vb.net: penyelesaian yang mampu dimiliki

How to Programmatically Convert Word (.doc) Files to PDF Files in C# or VB.NET Using Affordable Methods?

Banyak alat percuma atau sumber terbuka menukar .doc ke .pdf, tetapi mereka sering berfungsi sebagai pemandu pencetak yang tidak mempunyai SDK untuk kegunaan programatik. Sebaliknya, SDK dengan fungsi ini sering datang dengan kos pelesenan yang besar. Artikel ini meneroka penyelesaian kos efektif, programatik dalam C# atau VB.NET.

Kaedah 1: Memanfaatkan fungsi "Simpan sebagai" Microsoft Word

Pendekatan ini menggunakan fungsi terbina dalam Microsoft Word, dengan menganggap "simpan sebagai pdf" dipasang. Ia secara amnya lebih dipercayai dan cekap daripada kaedah alternatif.

inilah kod c#:

<code class="language-csharp">using Microsoft.Office.Interop.Word;
using System;
using System.IO;

// ... other using statements ...

// ... other code ...

// Create a Word application object
Application word = new Application();
object oMissing = System.Reflection.Missing.Value; // Placeholder for optional arguments

// Specify the directory containing .doc files
string docDirectory = @"\server\folder";

// Get a list of .doc files
string[] wordFiles = Directory.GetFiles(docDirectory, "*.doc");

word.Visible = false; // Keep Word hidden
word.ScreenUpdating = false; // Prevent screen flickering

foreach (string wordFile in wordFiles)
{
    Document doc = word.Documents.Open(wordFile, 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, ref oMissing);
    doc.Activate();

    string pdfFile = wordFile.Replace(".doc", ".pdf");
    object fileFormat = WdSaveFormat.wdFormatPDF;

    doc.SaveAs(pdfFile, 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);

    object saveChanges = WdSaveOptions.wdDoNotSaveChanges;
    ((_Document)doc).Close(ref saveChanges, ref oMissing, ref oMissing);
    doc = null;
}

((_Application)word).Quit(ref oMissing, ref oMissing, ref oMissing);
word = null;</code>
ingat untuk menambah rujukan kepada

dalam projek anda. Kaedah ini memerlukan Microsoft Word dipasang pada sistem di mana kod berjalan. Microsoft.Office.Interop.Word

Pertimbangan penting:

  • Pengendalian ralat: Kod ini tidak mempunyai pengendalian ralat yang mantap. Kod siap sedia perlu termasuk blok untuk mengendalikan pengecualian yang berpotensi (mis., Fail tidak dijumpai, kesilapan aplikasi perkataan). try-catch
  • Pelesenan: Walaupun kaedah ini mengelakkan yuran pelesenan SDK luaran, ia bergantung kepada salinan Microsoft Word.
  • Prestasi:
  • Untuk sejumlah besar fail, pertimbangkan untuk mengoptimumkan kod untuk prestasi yang lebih baik (mis., Pemprosesan Asynchronous).
  • Pendekatan yang lebih baik ini menawarkan penyelesaian praktikal dan agak murah untuk programatik .doc ke penukaran .pdf menggunakan alat yang tersedia. Ingatlah untuk menyesuaikan kod ke keperluan dan persekitaran khusus anda.

Atas ialah kandungan terperinci Bagaimana Menukar Fail Word (.doc) Secara Pemrograman kepada Fail PDF dalam C# atau VB.NET Menggunakan Kaedah Mampu Milik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn