我使用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"); }
我认为这是可行的,但这只是一个假设。