.net怎么使用iTextSharp把word文件转为pdf文件
时间: 2024-01-24 15:04:47 浏览: 411
首先,需要安装 iTextSharp 库。可以通过 NuGet 包管理器安装,或者从 iTextSharp 的官方网站下载并手动安装。
下面是使用 iTextSharp 将 Word 文件转换为 PDF 文件的基本步骤:
1. 使用 Microsoft.Office.Interop.Word 库打开 Word 文件,并将其转换为可读取的格式。示例代码如下:
```csharp
using Microsoft.Office.Interop.Word;
using System.IO;
Application wordApp = new Application();
Document wordDoc = wordApp.Documents.Open("path/to/word/file");
wordDoc.SaveAs2(Path.ChangeExtension(wordDoc.FullName, ".html"), WdSaveFormat.wdFormatHTML);
wordDoc.Close();
wordApp.Quit();
```
2. 使用 iTextSharp 库读取 HTML 文件,并将其转换为 PDF 文件。示例代码如下:
```csharp
using iTextSharp.text;
using iTextSharp.text.pdf;
string htmlFile = "path/to/html/file";
string pdfFile = "path/to/pdf/file";
using (var ms = new MemoryStream())
{
using (var document = new Document(PageSize.A4, 72f, 72f, 72f, 72f))
{
PdfWriter writer = PdfWriter.GetInstance(document, ms);
document.Open();
using (var sr = new StreamReader(htmlFile))
{
var parsedHtmlElements = HTMLWorker.ParseToList(sr.ReadToEnd(), null);
foreach (var htmlElement in parsedHtmlElements)
{
document.Add(htmlElement as IElement);
}
}
document.Close();
}
File.WriteAllBytes(pdfFile, ms.ToArray());
}
```
注意,上述示例代码中使用的是 iTextSharp 版本5.x。如果使用的是 iTextSharp 版本4.x,需要改为使用 XMLWorkerHelper.ParseXHtml 方法将 HTML 文件转换为 PDF 文件。
阅读全文