大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

Apache FOP 1.0 业已发布

  • 2010-07-28
  • 本文字数:1438 字

    阅读完需:约 5 分钟

本月 21 日,Apache 基金会发布了 Apache FOP 1.0 ,这是一个已经做了十年的项目。Apache FOP,也叫做格式化对象处理器(Formatting Objects Processor),它开始于 Apache 的 XML 项目中(其中还有 Batik ,它是基于 Java 的 SVG 渲染程序),之后于 2004 年转移到 XMLGraphics 项目中。

Apache FOP 提供了一种方法,让我们可以将 XML 文档转换为各种可打印的格式,像 PDF、PNG,甚至是其他像 HTML 之类的格式。它的历史可以追溯到 W3C 第一次发布 XSL 的时候。 尽管大多数人都将 XSL 与 XSL 转换语言本身直接合并在一起,然而 XSL 主要是为了出版行业而发明的。因此,XSL 的规格包含了语言(可扩展样式表语言 eXtensible Stylesheet Language)和 XSL 格式化对象规范。 以下文字来自于 XSL 摘要

该规范定义了可扩展样式表语言(XSL)的特性和语法,那是一种用来解释样式表的语言。 它包含两个部分:

  1. 转换 XML 文档的语言(XSLT),以及
  2. 指定格式化语义的 XML 词汇表。

大多数人都认为 XSL 实际上就是规范中的第一部分 XSLT。 XSL 规范还定义了一种迷你的语言,使用它可以定义打印的文字按照 XSL 格式化对象或者同一规范中的 FO 方式应该如何排列。 (正是这个名称决定了 Apache FO 处理器的出现,同时也是项目本身的名称。)

尽管 CSS 1 和 CSS 2 分别是在 1996 年 1998 年发布的,但是它们都没有处理与打印相关的需求的能力,像脚注、页码引用、分栏文字的分割流(例如,自动在多个栏中分配文字,而不是将其预先切分为分离的几个 DIV)。在 2001 年,当 XSL FO 作为 XSL 规范的一部分发布的时候,没有什么处理器能够对其进行处理。Apache FOP 是第一个能处理这种格式的处理器,但是它在版本 0.20 (2003 年发布) 停滞了好久,直到重新启动发布了 FOP 0.93 (2007 年发布) 。事实上,几年前,在 Sun 公司,这种分隔方式被用来演示 OSGi 的在 OSGi JSIG 事件中载入不同版本的 JAR 文件的能力。

FO 的示例文档看起来和传统的 XML 文档有些相似,其中带有fo命名空间,它会与http://www.w3.org/1999/XSL/Format绑定。 下面是来自于 http://www.renderx.com/tutorial.html 的示例(一种商业化的 FO 处理器):

复制代码
<?xml version="1.0" encoding="iso-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="my-page">
<fo:region-body margin="1in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="my-page">
<fo:flow flow-name="xsl-region-body">
<fo:block>Hello, world!</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

fo:layout中的内容包含了样式(像页边的空白有多大,是否显示页码等等;它支持多种样式,因此你可以拥有相互不影响的“main page”和“index page”样式),后面是fo:page-sequence,这是与那一组(例如一章中的)页面相关的。在里面的部分,flowblock与 HTML 的divp设置类似。

标签的嵌套显得有些冗长,这通常是 MediaWiki 或者 WikiText 格式的中间交换格式。(Eclipse 的 WikiText 已经可以被转换成为 DocBook 或者 XSL-FO;事实上,很多 DocBook 处理器都能够生成 XSL-FO,然后这种格式可以通过像 Apache FOP 之类的工具编译成 PDF 。)Maven 的站点想要使用Apache FOP,从而生成带有 pdf 插件的 PDF 版本的站点。

目前 Apache FOP 1.0 还无法与 XSL FO 规范完全兼容;兼容性页面列出了更多关于当前支持情况的信息。

查看英文原文: Apache FOP 1.0 released

2010-07-28 09:352632
用户头像

发布了 340 篇内容, 共 140.0 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

cdr 2023 mac破解版 附激活码 CorelDRAW Graphics Suite 2023中文安装包

Rose

.NET 9 AOT的突破 - 支持老旧Win7与XP环境

沙漠尽头的狼

字节码文件解剖

不在线第一只蜗牛

一文读懂什么是RAG,如何搭建多模态RAG降低大模型幻觉

Zilliz

Milvus LLM 大模型幻觉 多模态rag RAG搭建

EndNote 21 for mac 授权破解版 EndNote下载安装包

Rose

探索新机遇:当跨境外贸独立站挑战重重,反向海淘代购模式成为新蓝海

代码忍者

反向海淘

AnyToISO Pro mac破解版:ISO镜像文件制作工具

Rose

腾讯云的相关DDoS封堵问题概览

网络安全服务

腾讯云 服务器 DDoS 腾讯云服务器 DDoS 攻击

鸿蒙生态加速落地湖北:多家政企单位及高校启动内部应用鸿蒙化,近百款原生鸿蒙应用上架

最新动态

从方言对话这枚“落子”,看AI手机“棋局”的尴尬赛点

脑极体

AI

Nginx性能优化的几个方法

江南一点雨

我的新书出版啦!和大家聊聊写书的酸甜苦辣

码哥字节

数据库 nosql 写作 redis 精讲 程序员 java

功能强大、简单易用的视频下载工具 4K Video Downloader for mac

Rose

Omi录屏专家 Screen Recorder by Omi Mac v1.3.9激活版

Rose

ETLCloud遇上MongoDB:灵活数据流,轻松管理

RestCloud

数据库 mongodb 数据处理 ETL 数据集成

利用免费的Geo Location API进行实时用户分析

幂简集成

API 免费API

一键制作ppt工具哪个好?5款好用的AI软件盘点!

职场工具箱

效率工具 PPT AIGC AI 人工智能 AI生成PPT

Paimon x StarRocks 助力喜马拉雅构建实时湖仓

StarRocks

强大防护软件 Deep Freeze(冰点还原精灵),释放电脑潜能!

Rose

运用通义灵码有效管理遗留代码:提升代码质量与可维护性

阿里云云效

阿里云 云原生 通义灵码

Steinberg Dorico Pro for Mac 破解补丁 及安装包

Rose

CrossOver 24 for Mac(windows 虚拟机) 附激活补丁

Rose

Acrobat Pro DC 2024,打造顶级文档处理平台

Rose

Apache FOP 1.0业已发布_Java_Alex Blewitt_InfoQ精选文章