是否有一种特定的格式,所有应用程序都可以理解(即特别是像doc,pdf这样的读者)

时间:2010-08-29 06:07:20

标签: c# visual-studio-2008 reporting

我面临很多问题,将页面上的html数据转换为pdf和doc,确保图片也出现在已转换的文章中但失败了

我知道XML就像一个基础

是这样吗?

以及如何使用它?

我的意思是如何生成页面的xml,然后将其扩展名更改为所需的(pdf,doc)?

使用vs08,asp.net,c#

1 个答案:

答案 0 :(得分:4)

简短的回答是否。
如果有这样的格式,为什么所有应用程序都不会首先使用它?

关于不同格式的说明

几乎所有文档应用程序都理解纯文本(但图像应用程序等不会)。纯文本的问题是它不包含任何格式。没有图片,没有字体大小,没有边距,除了文字之外什么都没有。这也是为什么有许多不同格式的根本原因,即格式化。

以HTML为例。 HTML适用于在网站上流动文本,其中包含由滚动条导航的连续文本块。没有分页符,可以根据屏幕大小等适应不同的列宽.HTML也非常动态,页面可以扩展部分,替换内容并对用户输入作出反应。

相反,请使用PDF。 PDF是面向页面的,固定的页面宽度和高度。它也只针对观看。文本环绕是通过显式换行符修复的。 (将文本从PDF复制到Word文档,并在一行中间插入一些文本,并且断行将是一个真正的混乱)。 PDF正在模拟带有边距和所有内容的打印页面。

中间的某个地方是Word文档。面向PDF的页面,但不像PDF文档那样固定,以支持良好的编辑体验。当文本插入中间时,文本部分可以很好地重排。编辑时非常灵活,但最终结果与PDF格式一样严格。打印Word文档时,打印输出看起来与屏幕上的完全相同。

XML

XML是一种非常通用的格式,您可以将其视为格式的格式。 XML本身并没有说明内容,您需要单独描述如何解释给定应用程序的XML。存在类似DocBook的规范,其指定如何用XML描述文档。但这并不是文件外观的准确描述。它将内容与布局分开。您需要应用布局/模板来生成可见的输出格式。从DocBook XML中,您可以生成PDF,HTML等。

没有给定将给定文档格式转换为XML的方法,甚至没有像DocBook这样的给定XML格式。基于XML的格式可用作源格式,以生成不同的可视格式。

关于转换的说明

将不同格式相互转换的问题来自每种格式的不同目的和优势。一种格式很简单,不适合甚至无法正确描述其他格式的属性。格式之间没有通用的转换方法,因为像PDF这样的格式不会以可重用的方式显示文档结构。

如何发布到不同的格式

发布到不同格式时成功的关键是将内容与布局分开。您需要指定您拥有的文本,结构的方式(标题,部分等),您拥有的图像以及它们与您的文本部分的关系。文本和结构描述可以是XML,数据库或其他内容。

然后,您需要一个工具,使用某种工具从模板生成每种输出格式。

关于图像格式的附注

另一方面,图像格式更容易相互转换(只要您将基于像素的格式转换为基于像素的格式和基于矢量的格式转换为基于矢量的格式),因为最终结果完全相同。不同图像格式之间的差异主要是用于压缩图像的压缩算法。当解压缩图像时,恢复原始图像及其所有信息(除了较小的压缩伪像)。