C#实现PDF文档转Word
王递杰 2021年6月25日 C#
打开nuget安装Aspose.PDF
控制台程序实现:
class Program
{
static void Main(string[] args)
{
string pdfFilePath = @"D:\信息安全维护服务协议.pdf";
string outputFilePath = @"D:\信息安全维护服务协议.docx";
var stream = FileToStream(pdfFilePath);
PdfToWordHelper.ConvertToWord(stream, outputFilePath);
Console.WriteLine("转换成功!");
Console.ReadKey();
}
/// <summary>
/// 文件转换成文件流
/// </summary>
/// <param name="filePath">文件名</param>
/// <returns>文件流</returns>
public static Stream FileToStream(string filePath)
{
FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); //打开文件
// 读取文件Byte[]
//
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, bytes.Length);
fileStream.Close();
Stream stream = new MemoryStream(bytes); //byte[]转换为Stream
return stream;
}
}
PdfToWordHelper 代码:
public class PdfToWordHelper
{
//若已失效,请更换lic
private static string lic = "DQo8TGljZW5zZT4NCjxEYXRhPg0KPExpY2Vuc2VkVG8+QXNwb3NlIFB0eSBMdGQ8L0xpY2Vuc2VkVG8+DQo8RW1haWxUbz5zYWxtYW4uc2FyZnJhekBhc3Bvc2UuY29tPC9FbWFpbFRvPg0KPExpY2Vuc2VUeXBlPkRldmVsb3BlciBTbWFsbCBCdXNpbmVzczwvTGljZW5zZVR5cGU+DQo8TGljZW5zZU5vdGU+T25lIERldmVsb3BlciBBbmQgT25lIERlcGxveW1lbnQgTG9jYXRpb248L0xpY2Vuc2VOb3RlPg0KPE9yZGVySUQ+MjAwNTA2MDc1OTMzPC9PcmRlcklEPg0KPFVzZXJJRD43NDc0MTU8L1VzZXJJRD4NCjxPRU0+VGhpcyBpcyBub3QgYSByZWRpc3RyaWJ1dGFibGUgbGljZW5zZTwvT0VNPg0KPFByb2R1Y3RzPg0KPFByb2R1Y3Q+Q29uaG9sZGF0ZS5Ub3RhbCBmb3IgLk5FVDwvUHJvZHVjdD4NCjwvUHJvZHVjdHM+DQo8RWRpdGlvblR5cGU+UHJvZmVzc2lvbmFsPC9FZGl0aW9uVHlwZT4NCjxTZXJpYWxOdW1iZXI+ODUxZTUwM2MtYmU0NS00M2I4LWFjZWItMzM4OGNmMWQxY2Y1PC9TZXJpYWxOdW1iZXI+DQo8U3Vic2NyaXB0aW9uRXhwaXJ5PjIwMjEwNTA2PC9TdWJzY3JpcHRpb25FeHBpcnk+DQo8TGljZW5zZVZlcnNpb24+My4wPC9MaWNlbnNlVmVyc2lvbj4NCjxMaWNlbnNlSW5zdHJ1Y3Rpb25zPmh0dHBzOi8vcHVyY2hhc2UuY29uaG9sZGF0ZS5jb20vcG9saWNpZXMvdXNlLWxpY2Vuc2U8L0xpY2Vuc2VJbnN0cnVjdGlvbnM+DQo8L0RhdGE+DQo8U2lnbmF0dXJlPk1rbG0wMWludldkZ0Q3SzQyVHVFQml6MXpVRkhlR1JqVlo5ZDhESDdycVBrV2ozWDAxei84YzlCQjYwb0UvaWF6ZEdSMTFjRWxSR1JUbnVIRHlJQkhOWEFxQVI2dmpjKzExb05ld2lJbzRlNWg4OEYybS91UTRjN3dVQVl6ZUtuV1BzQUhJTVdTQXM0YTVZbmJlWlUrd1p3VzFpR2RnNEZaUEVSdTZsV01jOD08L1NpZ25hdHVyZT4NCjwvTGljZW5zZT4NCg==";
public static void ConvertToWord(string pdfFilePath,string outputFilePath)
{
SetPdfLicense();
Document pdfDocument = new Document(pdfFilePath);
pdfDocument.Save(outputFilePath, SaveFormat.DocX);
pdfDocument.Dispose();
}
public static void ConvertToWord(Stream stream, string outputFilePath)
{
SetPdfLicense();
Document pdfDocument = new Document(stream);
pdfDocument.Save(outputFilePath, SaveFormat.DocX);
pdfDocument.Dispose();
}
private static void SetPdfLicense()
{
MemoryStream licStream = new MemoryStream(Convert.FromBase64String(lic));
License license = new License();
licStream.Seek(0, SeekOrigin.Begin);
license.SetLicense(licStream);
licStream.Close();
}
//文件转成文件流
private static Stream FileToStream(string filePath)
{
FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); //打开文件
// 读取文件Byte[]
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, bytes.Length);
fileStream.Close();
Stream stream = new MemoryStream(bytes); //byte[]转换为Stream
return stream;
}
}
相关博客
评论
暂无评论
随笔分类
Powered by .NET 6.0 陕ICP备2020018176号-4