2017-09-13 89 views
1

我们的项目有要求在PDF和MS-Word文档中生成最终报告。我们使用iTextSharp在报告中动态生成表格和行。最后,我们会将文件上传到服务器,如PDF和MS-word。两者都将转换为Byte Array/Stream文件并保存为PDF和MS-Word文档。 其中,上传的PDF按预期工作,但MS字出现错误,无法打开(附加屏幕截图)。enter image description here转换iText PDF的流文件不打开MS word

+0

没有代码段的问题通常不适合发布在Stack Overflow上。请告诉我们你的代码。我们需要了解如何使用iTextSharp创建MS Word文档。 –

回答

1

iTextSharp不会生成MS Word文档,所以这不是真正的iText问题。当我看着你的屏幕截图时,我发现你正试图将一个PDF文件导入到Word中。由于Word不能解释PDF语法,就说明你的PDF文件的语法:

%PDF-1.4 
%âãÏÓ 
1 0 obj 
<</Type/Font... 

我觉得你的问题是错误的。你是而不是使用iTextSharp创建PDF文件和MS Word文件。您正在使用iTextSharp创建一个PDF文件,并且而不是一个MS Word文件。

在iTextSharp中没有“将PDF保存为MS Word文件”这样的东西,并且要找到另一种可以以可接受的方式将PDF文档转换为Word文档的工具是非常困难的。 (有这样的工具,但对于未被转换为其他格式的PDF,质量不理想。)

+0

我们使用iText锐库来生成内容(表格,图像打印,文本行),它满足我们生成报告的要求。我们正在使用像iTextsharp库属性(块,段落,字体等)。无论我们使用iText尖锐功能生成的报告,我们都会将其转换为流并将其保存为使用C#的PDF和Word文档。最后,在下载这些PDF和Word文档时,PDF按预期工作。但词不。 :( –

+0

你写*我们会将它转换为流并将它保存为使用C#的PDF和Word文档*第一部分是正确的:您可以将使用iTextSharp创建的流保存为PDF,但是,您无法保存作为一个Word文档的流**假设我有收音机,我说:收音机非常适合听音乐,但是一定是错误的,因为我无法在我的收音机上观看我的电视节目。完全正常**,因为收音机不是电视!**就像iTextSharp是创建PDF,**的库,但不能创建MS Word文档!** –