使用C#将.doc转换为.docx
本文关键字:docx 转换 doc 使用 | 更新日期: 2023-09-27 18:25:44
我使用PDFFocus.net dll将PDF文件转换为word文件。但对于我的系统,我想要.docx文件。我尝试了不同的方法。有一些图书馆可用。但这些并不是免费的。这是我的pdf到doc转换代码。
Using System;
Using System.Collections.Generic;
Using System.Linq;
Using System.Text;
Using System.Threading.Tasks;
Using iTextSharp.text;
Using iTextSharp.text.pdf;
namespace ConsoleApplication
{
class Program
{
static void main(String[] args)
{
SautinSoft.PdfFocus f=new SautinSoft.PdfFocus();
f.OpenPdf(@"E:'input.pdf");
t.ToWord(@"E:'input.doc");
}
}
}
这项工作成功。然后我尝试用下面的代码将.doc转换为.docx。但它给了我错误。
//Open a Document.
Document doc=new Document("input.doc");
//Save Document.
doc.save("output.docx");
有人能帮我吗。
是的,就像Erop说的那样。您可以使用Microsoft Word 14.0 Object Library
。然后,从doc转换为docx真的很容易。例如,具有以下功能:
public void ConvertDocToDocx(string path)
{
Application word = new Application();
if (path.ToLower().EndsWith(".doc"))
{
var sourceFile = new FileInfo(path);
var document = word.Documents.Open(sourceFile.FullName);
string newFileName = sourceFile.FullName.Replace(".doc", ".docx");
document.SaveAs2(newFileName,WdSaveFormat.wdFormatXMLDocument,
CompatibilityMode: WdCompatibilityMode.wdWord2010);
word.ActiveDocument.Close();
word.Quit();
File.Delete(path);
}
}
请确保添加CompatibilityMode: WdCompatibilityMode.wdWord2010
,否则文件将保持兼容模式。还要确保在要运行应用程序的计算机上安装了Microsoft Office。
另一件事,我不知道PDFFocus.net
,但你有没有尝试过直接从pdf转换为docx。像这样:
static void main(String[] args)
{
SautinSoft.PdfFocus f=new SautinSoft.PdfFocus();
f.OpenPdf(@"E:'input.pdf");
t.ToWord(@"E:'input.docx");
}
我认为这是可行的,但这只是一个假设。
尝试使用Microsoft.Office.Interop.Word程序集。
MSDN文章可以在这里找到
在您的项目中包括引用,并通过上面显示的链接中的示例在代码模块中使用它们
using System.Collections.Generic; using Word = Microsoft.Office.Interop.Word;