转换功能作为Spire.Doc产品的一个主要亮点,Spire.Doc支持将多种格式的word文档(Word 97/2003/2007/2010/2013 )转换为其他格式的文件以及word新旧版本间的相互转换。Spire.Doc支持 Word 文件与 XML、RTF、TXT和HTML 等格式文件之间的双向转换。同时,它还支持将 Word 文件高质量地转换为 PDF 和 SVG 文件格式,HTML 文件转换为图像文件, PDF 及XPS , etc.。本篇文章将详细描述Spire.Doc的转换功能。
该文将详细介绍Spire.Doc转换功能,主要为:
将 Word 文档转换为 PDF 格式
Spire.Doc for .NET控件支持非常丰富的word文档元素:文本框、页眉、页脚、项目符号和编号、表格、文本、超链接、水印、图片、形状、上标或下标等。在本文的Demo文件中,Sample文档包含了大部分的元素。
C#
Document document = new Document();
document.LoadFromFile("Sample.docx");
document.SaveToFile("WordtoPDF.PDF", FileFormat.PDF);
VB.NET
Dim document As Document = New Document()
document.LoadFromFile("Sample.docx")
document.SaveToFile("WordtoPDF.PDF", FileFormat.PDF)
转换过程中的一些特殊设置
Spire.Doc提供一些参数,可以让客户选择是否将word源文档中的隐藏文字转换到PDF结果页面,是否保留PDF结果文档中的超链接,是否将非嵌入字体转换为PDF, word to PDF/A以及能设置PDF结果文档中图片的质量。
C#
Document document = new Document(false);
document.LoadFromFile("Sample.docx");
ToPdfParameterList pdf = new ToPdfParameterList();
pdf.DisableLink = true;
pdf.IsEmbeddedAllFonts = true;
pdf.IsHidden = true;
toPdf.PdfConformanceLevel = Spire.Pdf.PdfConformanceLevel.Pdf_A1B;
document.JPEGQuality = 40;
document.SaveToFile("WordtoPdfWithSettings.PDF", FileFormat.PDF);
VB.NET
Dim document As Document = New Document(False)
document.LoadFromFile("Sample.docx")
Dim pdf As ToPdfParameterList = New ToPdfParameterList()
pdf.DisableLink = True
pdf.IsEmbeddedAllFonts = True
pdf.IsHidden = True
toPdf.PdfConformanceLevel = Spire.Pdf.PdfConformanceLevel.Pdf_A1B
document.JPEGQuality = 40
document.SaveToFile("WordtoPdfWithSettings.PDF", FileFormat.PDF)
将 Word 保存为图片格式
Spire.Doc支持将Word文档转换为图片格式,JPEG, PNG, TIFF, EMF, BMP 及GIF。
C#
//加载Word文档
Document doc = new Document();
doc.LoadFromFile("test.docx");
//保存为Png格式的图片
Image[] images = doc.SaveToImages(Spire.Doc.Documents.ImageType.Metafile);
for (int i = 0; i < images.Length; i++)
{
string outputfile = String.Format("image-{0}.png", i);
images[i].Save(outputfile, System.Drawing.Imaging.ImageFormat.Png);
}
VB.NET
'加载Word文档
Dim doc As Document = New Document()
doc.LoadFromFile("test.docx")
'保存为Png格式的图片
Dim images() As Image = doc.SaveToImages(Spire.Doc.Documents.ImageType.Metafile)
Dim i As Integer = 0
Do While (i < images.Length)
Dim outputfile As String = String.Format("image-{0}.png", i)
images(i).Save(outputfile, System.Drawing.Imaging.ImageFormat.Png)
i = (i + 1)
Loop
转换功能概述
Spire.Doc 的核心转换代码非常简单,开发者能直接通过LoadFromFile() 方法或者LoadFromStream() 方法加载文件,然后通过SaveToFile() 方法将原文档保存为我们需要保存的格式即可。
HTML to Word示例
C#
Document document = new Document();
TextReader reader = File.OpenText("Target.html");
document.LoadHTML(reader, XHTMLValidationType.None);
document.SaveToFile("HTMLtoWord.doc", FileFormat.Doc);
VB.NET
Dim document As Document = New Document()
Dim reader As TextReader = File.OpenText("Target.html")
document.LoadHTML(reader, XHTMLValidationType.None)
document.SaveToFile("HTMLtoWord.doc", FileFormat.Doc)