Java与XML(五)xml的转换之pdf (xml+xsl 2 pdf)

fop生成PDF支持中文(xml & xsl) http://oudoud.iteye.com/blog/1755054 本例可将xml格式数据按xsl模板转化为PDF 1.首先,程序结构如下:  2.FopReport.java  Java代码   // Step 1: Construct a FopFactory       private static final FopFactory fopFactory = Fo... 阅读详情

做pdf转换是很实用的工作。已然存在的的转换工具就有很多,其中包括一些成熟的商业软件。而作为java程序开发,我们将借助一个叫FOP的开源工具。

在开始转换之前,我们不得不认识先一下FOP并对它的使用做简单的了解。

FOP (Formatting Objects Processor) 是第一个基于XSL:FO的打印格式处理器,也是第一个与输出无关的格式处理器。它是一个Java程序,能够从对象树中读入然后生成渲染过的页面输出到指定的流。目前支持的输出格式有PDF,PCL,PS,SVG,XML(以树形结构表示),打印机,AWT,MIF和TXT。最主要的输出指的是PDF。
James Tauber 
- FOP 的最初作者。他开发了该工具的原始版本,而且很大方地开放了该代码,后来又将它移交给 Apache XML Project。(他还给该工具选了一个极好的名称;除了该名称是字首组合词之外,Webster 对 fop 的定义是“过分讲究外表的人”。)现在 James 是 Bowstreet 的首席 XML 设计师。Apache XML项目以开放与合作的方式开发的,提供商业品质的基于XML标准的解决方案。从标准的实施角度看,它能给标准机构(比如IETF和W 3C )提供反馈信息。

FOP主页 http://xml.apache.org/fop/

 

FOP使用方式

FOP有3种使用方式,分别为命令行,程序嵌入,XT 嵌入。这里将主要介绍如何在程序中嵌入FOP功能。将XML文件转换为PDF实际上分为2步,第1步是利用XSLT将XML转换为XSL-FO,第2步是将XSL-FO转换为PDF。这里只讲述如何进行第2步的转换编程。

 

下载fop包后,你需要在CLASSPATH中添加下述jar文件:

{FOP安装目录}/build/fop.jar

{FOP安装目录}/lib/batik.jar

{FOP安装目录}/lib/xalan- 2.0.0 .jar

{FOP安装目录}/lib/xerces- 1.2.3 .jar

{FOP安装目录}/lib/avalon-framework-4.0.jar

{FOP安装目录}/lib/logkit-1.0b4.jar

{FOP安装目录}/lib/jimi-1.0.jar

我是使用Eclipse,只需要在工程属性->构建路径中加入他们,就可以使用这个伟大的工具了。

 

下面是具体的程序:

 

这是一个xml文件 test.xml:
<FeatureSRS title="SRS">

<introduction>

<objective>objective here</objective>

<scope>scope here</scope>

<responsibilities>responsibilities here</responsibilities>

<references>reference here</references>

<DAA>

<term>

term here

</term>

<definition>

definition here

</definition>

</DAA>

</introduction>

<generalDescription>

<featureName>

<summary>summary here</summary>

<breakdown>breakdown here</breakdown>

</featureName>

<requirement>

<content>

content here.

</content>

</requirement>

<requirement>

<content>

content2 here.

</content>

</requirement>

<featureInteractions>featureInteractions here</featureInteractions>

</generalDescription>

<strResources>

<strResource>

<estring>

estring here

</estring>

<resourceid>

resourceid here

</resourceid>

<rqmt>

rqmt here.

</rqmt>

</strResource>

</strResources>

</FeatureSRS>

 

这是它的xsl文件 test.xsl:

 

<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">

<xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes"/>

<!-- ========================= -->

<!-- root element: projectteam -->

<!-- ========================= -->

<xsl:template match="FeatureSRS">

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>

<fo:simple-page-master master-name="simpleA4" page-height=" 29.7cm " page-width=" 21cm " margin-top=" 2cm " margin-bottom=" 2cm " margin-left=" 2cm " margin-right=" 2cm ">

<fo:region-body/>

</fo:simple-page-master>

</fo:layout-master-set>

<fo:page-sequence master-reference="simpleA4">

<fo:flow flow-name="xsl-region-body">

<fo:block font-size=" 20pt " font-weight="bold" space-after=" 5mm " text-align="center">Cardiac Feature SRS

</fo:block>

<fo:block font-size=" 10pt ">

<xsl:apply-templates/>

</fo:block>

</fo:flow>

</fo:page-sequence>

</fo:root>

</xsl:template>

<!-- ========================= -->

<!-- child element: member -->

<!-- ========================= -->

<xsl:template name="introduction" match="introduction">

<fo:block font-size=" 18pt " font-weight="bold" space-after=" 5mm ">1. Intruction</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">1.1 Objective</fo:block>

<fo:block font-size=" 10pt " font-weight="normal" space-after=" 5mm " margin-left=" 7mm ">

<xsl:value-of select="objective"/>

</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">1.2 Scope</fo:block>

<fo:block font-size=" 10pt " font-weight="normal" space-after=" 5mm " margin-left=" 7mm ">

<xsl:value-of select="scope"/>

</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">1.3. Responsibilities</fo:block>

<fo:block font-size=" 10pt " font-weight="normal" space-after=" 5mm " margin-left=" 7mm ">

<xsl:value-of select="responsibilities"/>

</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">1.4. References</fo:block>

<fo:block font-size=" 10pt " font-weight="normal" space-after=" 5mm " margin-left=" 7mm ">

<xsl:value-of select="references"/>

</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">1.5. Definitions, Acronyms, and Abbreviations</fo:block>

<fo:block font-size=" 10pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">

<fo:table table-layout="fixed" border=" 2cm " background-color="#fff2d9" >

<fo:table-column column-width=" 4cm "/>

<fo:table-column column-width=" 6cm "/>

<fo:table-body>

<fo:table-row border="2">

<fo:table-cell>

<fo:block>

<xsl:text>Term</xsl:text>

</fo:block>

</fo:table-cell>

<fo:table-cell>

<fo:block>

<xsl:text>Definition</xsl:text>

</fo:block>

</fo:table-cell>

</fo:table-row>

<xsl:for-each select="DAA">

<fo:table-row border="2">

<fo:table-cell>

<fo:block>

<xsl:value-of select="term"/>

</fo:block>

</fo:table-cell>

<fo:table-cell>

<fo:block>

<xsl:value-of select="definition"/>

</fo:block>

</fo:table-cell>

</fo:table-row>

</xsl:for-each>

</fo:table-body>

</fo:table>

</fo:block>

</xsl:template>

<xsl:template name="generalDescription" match="generalDescription">

<fo:block font-size=" 18pt " font-weight="bold" space-after=" 5mm ">2. General Description</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">2.1. Feature Name</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 7mm "> 2.1.1 . Feature Summary</fo:block>

<fo:block font-size=" 10pt " font-weight="normal" space-after=" 5mm " margin-left=" 9mm ">

<xsl:value-of select="featureName/summary"/>

</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 7mm "> 2.1.2 . Feature Breakdown</fo:block>

<fo:block font-size=" 10pt " font-weight="normal" space-after=" 5mm " margin-left=" 9mm ">

<xsl:value-of select="featureName/breakdown"/>

</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">2.2. Feature Requirements</fo:block>

<fo:block font-size=" 10pt " font-weight="normal" space-after=" 5mm " margin-left=" 7mm ">

<xsl:for-each select="requirement">

<xsl:value-of select="content"/>

</xsl:for-each>

</fo:block>

<fo:block font-size=" 14pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">2.3. Feature Interactions</fo:block>

<fo:block font-size=" 10pt " font-weight="normal" space-after=" 5mm " margin-left=" 7mm ">

<xsl:value-of select="featureInteractions"/>

</fo:block>

</xsl:template>

<xsl:template name="strResources" match="strResources">

<fo:block font-size=" 18pt " font-weight="bold" space-after=" 5mm ">3. String Resources </fo:block>

<fo:block font-size=" 10pt " font-weight="bold" space-after=" 5mm " margin-left=" 5mm ">

<fo:table table-layout="fixed" border=" 2cm " background-color="#fff2d9" >

<fo:table-column column-width=" 4cm "/>

<fo:table-column column-width=" 10cm "/>

<fo:table-column column-width=" 4cm "/>

<fo:table-body>

<fo:table-row border="2">

<fo:table-cell>

<fo:block>

<xsl:text>English String</xsl:text>

</fo:block>

</fo:table-cell>

<fo:table-cell>

<fo:block>

<xsl:text>Resource ID</xsl:text>

</fo:block>

</fo:table-cell>

<fo:table-cell>

<fo:block>

<xsl:text>Rqmt</xsl:text>

</fo:block>

</fo:table-cell>

</fo:table-row>

<xsl:for-each select="strResource">

<fo:table-row border="2">

<fo:table-cell>

<fo:block>

<xsl:value-of select="estring"/>

</fo:block>

</fo:table-cell>

<fo:table-cell>

<fo:block>

<xsl:value-of select="resourceid"/>

</fo:block>

</fo:table-cell>

<fo:table-cell>

<fo:block>

<xsl:value-of select="rqmt"/>

</fo:block>

</fo:table-cell>

</fo:table-row>

</xsl:for-each>

</fo:table-body>

</fo:table>

</fo:block>

</xsl:template>

</xsl:stylesheet>

 

注意,以上文件不要加:<?xml version="1.0" encoding="UTF-8"?> 这句。

 

转换的java代码 ExampleXML2PDF.java:

 

package src;

import java.io.File;

import java.io.IOException;

import java.io.OutputStream;

import javax.xml.transform.Result;

import javax.xml.transform.Source;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerException;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.sax.SAXResult;

import javax.xml.transform.stream.StreamSource;

import org.apache.avalon.framework.ExceptionUtil;

import org.apache.avalon.framework.logger.ConsoleLogger;

import org.apache.fop.apps.Driver;

import org.apache.fop.messaging.MessageHandler;

 

public class ExampleXML2PDF{

 

public void convertXML2PDF(File xml, File xslt, File pdf)

throws TransformerException, IOException {

Driver driver = new Driver();

ConsoleLogger logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);

driver.setLogger((org.apache.avalon.framework.logger.Logger) logger);

MessageHandler.setScreenLogger((org.apache.avalon.framework.logger.Logger) logger);

 

//Setup Renderer (output format)

driver.setRenderer(Driver.RENDER_PDF);

 

//Setup output

OutputStream out = new java.io.FileOutputStream(pdf);

try {

driver.setOutputStream(out);

 

//Setup XSLT

TransformerFactory factory = TransformerFactory.newInstance();

Transformer transformer = factory.newTransformer(new StreamSource(xslt));

 

//Setup input for XSLT transformation

Source src = new StreamSource(xml);

 

//Resulting SAX events (the generated FO) must be piped through to FOP

Result res = new SAXResult(driver.getContentHandler());

 

//Start XSLT transformation and FOP processing

transformer.transform(src, res);

} finally {

out.close();

}

}

 

public static void main(String[] args) {

try {

System.out.println("FOP ExampleXML2PDF/n");

System.out.println("Preparing...");

 

//Setup directories

File baseDir = new File(".");

File outDir = new File(baseDir, "out");

outDir.mkdirs();

 

File xmlfile = new File("f://tomcat5//webapps//myxml//xmldata//test.xml");

File xsltfile = new File("f://tomcat5//webapps//myxml//xmldata//test.xsl");

File pdffile = new File("f://tomcat5//webapps//myxml//xmldata//test.pdf");

 

System.out.println("Input: XML (" + xmlfile + ")");

System.out.println("Stylesheet: " + xsltfile);

System.out.println("Output: PDF (" + pdffile + ")");

System.out.println();

System.out.println("Transforming...");

 

ExampleXML2PDF app = new ExampleXML2PDF();

app.convertXML2PDF(xmlfile, xsltfile, pdffile);

 

System.out.println("Success!");

} catch (Exception e) {

System.err.println(ExceptionUtil.printStackTrace(e));

System.exit(-1);

}

}

}

 

编译执行即可。

12、将 XML 转换为 PDF 本文详细介绍了如何使用 Apache FOP 将 XML 文档转换为 PDF 格式。内容包括软件安装、Eclipse 项目设置、XML 到 XSL-FO 的转换、PDF 文档的生成以及完整的示例代码。适合需要实现文档自动化生成的开发者参考。 阅读详情

相关推荐

掌握XSL格式化对象:将XML文档转换为PDF

本章节深入介绍了XSL(可扩展样式表语言)格式化对象的使用,展示了如何利用XSL将XML文档转换为多种格式,包括PDF。详细讲解了Apache FOP工具的安装和配置,以及如何使用XSL格式化对象标记文档。通过实际案例和步骤,读者将学会如何将XSL文档转换成PDF格式,同时对XSL格式化对象的结构和应用有了更深刻的理解。

weixin_33814090的博客 353

java 使用documents4j将XML转为pdf文件的方式

XML广泛应用于数据存储、数据交换和Web服务等领域,它提供了一种灵活和可扩展的方式来组织和传输数据。

askf01的博客 3579

Java平台XSL解析器实现与应用实战

在现代数据交换和内容呈现体系中,XML(Extensible Markup Language)作为一种结构化、可扩展的数据格式,广泛应用于配置文件、消息传输、文档存储等领域。而XSL(Extensible Stylesheet Language)及其核心组件XSLT(XSL Transformations),则提供了将XML数据转换为HTML、文本或其他结构化输出的强大能力。理解XML与XSLT的基础语法不仅是掌握Java XSL解析器的前提,更是构建高效、灵活的数据转换管道的关键一步。

weixin_35755640的博客 765

java-接收xml文本并转换为pdf上传

java-接收xml文本并转换为pdf上传

Top_xze的博客 1887

Xml2Pdf-开源

Xml2Pdf是一个小型实用程序,允许将xml文件转换为pdf。 这不是通用转换器,而是一组3个特定的转换器:DVD,漫画和寓言。 使用iTextSharp库进行转换。

Pdf--to--XML:PDF TO XML 转换器(Web 应用程序)

PDF TO XML 转换器(Web 应用程序) 使用的工具: Java Apache PDFBox API SpringMVC Jquery、AJAX、JS 和 CSS 引导框架 STS(弹簧工具套件) 描述: 该Web应用程序旨在解析pdf文件(Employess Payslip)并使用pdfbox api从pdf文件中提取详细信息,然后转换为json,然后转换为xml,然后使用xstl转换为xml。 用户可以在 UI 中看到所有类型的格式,如果需要任何更改,这些文本区域也可以编辑,最后如果一切正常,将弹出下载按钮以下载 xml 文件。 注意:需要根据pdf文件修改代码。

java xsl转换pdf_Java转换为PDF

I am doing a POC for one of my performance projects. Currently I'm facing an OutOfMemoryError. First we had loaded an XML file using DOM and then attempted to transform it with XSL into a PDF. After r...

weixin_39732316的博客 390

XML转PDF的FOP包和代码

XML转PDF的FOP包和代码,具体使用方式度娘上有很多,这里只提供一些包,祝你好运!

java xsl转换pdf_JavaEE XML XSL转换(XSLT)

XSL转换(XSLT)@author ixenos定义:XSL转换机制可以指定将XML文档转换为其他格式的规则,例如,txt纯文本、XHTML或其他任何XML格式。用途:XSLT通常用来将某种机器可读的XML格式转译为另一种机器可读的XML格式,或者将XML转译为适合人类阅读的表示格式步骤:1、 需要提供XSLT样式表,它描述了XML文档向某种格式转换的规则2、 XSLT处理器读入XML文档和XS...

weixin_39897070的博客 273

javaxml,xsl,html文件转换.pdf

javaxml,xsl,html文件转换.pdf

从机械到数字:EC11旋转编码器与ESP32的PWM控制艺术

本文详细解析了EC11旋转编码器与ESP32的PWM控制技术,探讨了如何将机械旋转动作转换为精确的数字信号控制。通过硬件连接、信号处理和软件优化等实践技巧,开发者可以构建高效的人机交互系统,适用于智能照明、电机控制等多种应用场景。

android的专栏 786

Java与XML(六)xml的转换之pdf (fo 2 pdf)

如果有fo文件,则可以直接转换成pdf。具体方法如下:一个fo文件simple.fo:http://www.w3.org/1999/XSL/Format">            margin-top="36pt" margin-bottom="36pt"       page-width="8.5in" page-height="11in"       margin-left="72pt" ma

智在居士草堂 5794

微信小程序内容安全审核:从API调用到工程化落地的全流程实践

内容安全是互联网应用开发中的基础性技术环节,尤其在用户生成内容(UGC)场景下,它直接关系到平台的合规性与用户体验。其核心原理通常结合了关键词过滤、自然语言处理(NLP)和计算机视觉(CV)等技术,通过AI模型对文本、图像、音频进行多维度风险识别。这项技术的价值在于,它不仅是满足监管要求的必要手段,更是构建健康社区生态、保护品牌声誉、实现产品长期稳定运营的基石,广泛应用于社交、电商、社区论坛等各类UGC平台。本文聚焦于微信小程序生态,深入剖析其官方提供的内容安全解决方案,详细解读如何将文本同步检测与多媒体异

weixin_28622215的博客 452

java xsl转换pdf,Java转换为PDF

I am doing a POC for one of my performance projects. Currently I'm facing an OutOfMemoryError. First we had loaded an XML file using DOM and then attempted to transform it with XSL into a PDF. After r...

weixin_35238815的博客 136

Coze知识库搭建:智能化管理与高效检索实践

知识管理系统是现代企业信息资产管理的核心基础设施,其核心原理是通过结构化存储和智能检索技术实现知识的快速流转。在技术实现上,基于NLP的语义理解引擎和知识图谱构建是关键,能够显著提升检索准确率和知识关联性。以Coze平台为例,其针对中文场景优化的分词算法和多模态处理能力,可有效解决技术文档管理中的术语识别和格式兼容问题。这类系统在开发团队知识沉淀、新员工培训等场景中价值显著,特别是当集成RBAC权限模型和自动化备份策略后,既能保障信息安全,又能实现持续的知识迭代。通过合理配置同义词扩展和权重调整,可使搜索命

weixin_29041195的博客 262

大厂案例:快手AI人才管理系统的架构设计与效果

凌晨两点刷简历的HR、说不清“团队离职率高”原因的业务leader、不知道“该学什么”的员工——这些人力资源场景中的“痛点”,曾是快手高速增长期的真实写照。当员工规模从几千扩张到几万,传统HR系统的“经验驱动”模式彻底失效。2021年,快手启动AI人才管理系统建设,用“数据+算法”重构招聘、培养、绩效、留存全流程。本文将拆解这套系统的架构设计逻辑核心技术实现,以及真实业务效果AI如何让HR从“事务执行者”变成“战略伙伴”?

大模型应用工坊 1711

java xsl转换pdf_如何使用Java使用XSL转换XML

我目前正在使用标准的javax.xml.transform库使用XSL将XML转换为CSV.我的XSL文件很大-大约950行.我的XML文件也可能很大.它在原型阶段运行良好,仅在大约50行左右就安装了XSL的一部分.现在,在“最终系统”中,当执行转换时,会出现错误分支目标偏移量过短的错误.private String transformXML() {String formattedOutput =...

weixin_39881387的博客 170

AI Agent在智能广告投放中的应用

随着互联网的快速发展,广告投放市场变得越来越复杂和竞争激烈。传统的广告投放方式往往难以精准地触达目标受众,导致广告资源的浪费。AI Agent作为一种智能的自动化程序,能够在复杂的环境中自主学习、决策和执行任务。本文章的目的在于深入探讨AI Agent在智能广告投放中的应用,研究如何利用AI Agent提高广告投放的精准度、效率和效果,降低成本。范围涵盖了AI Agent的基本原理、相关算法、在广告投放中的具体应用场景以及实际案例分析等方面。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 617

java xsl转换pdf_fop生成PDF支持中文(xml & xsl) - 飞猪 - ITeye博客

2.FopReport.java// Step 1: Construct a FopFactoryprivate static final FopFactory fopFactory = FopFactory.newInstance();/*** 根据xsl模板及xml数据文件生成pdf* @param xsltFile xsl模板* @param xmlFile xml数据文件* @return...

weixin_39690625的博客 501

Oracle EBS R12 AR 标准发票 核心表结构

​ Oracle EBS R12 AR 标准发票 核心表结构 聚焦手动标准发票 (Standard Invoice),按头→行→分配→税→收款计划→会计分录→历史分层,标注主键、外键、关键字段、业务含义,同时说明表间关联关系,适配开发 / 运维 / 数据核对场景。 一、主数据层(发票头 + 行,核心业务表) 1. RA_CUSTOMER_TRX_ALL 【发票头表】 作用:存储整张发票头部信息,一张发票对应一条记录,AR 发票主表。 主键:CUSTOMER_TRX_ID (唯一 ID,系统内部键) 业

金牌架构师 282

基于Scrapy+Playwright的学术会议信息智能爬取系统实战

本文详细介绍如何使用Python构建一个高效的学术会议信息爬取系统,结合Scrapy框架和Playwright无头浏览器技术,实现对全球学术会议数据的自动化采集、清洗和存储。文章包含完整的技术方案设计、代码实现细节以及性能优化策略,可帮助读者快速掌握现代网络爬虫开发的核心技术。关键词:Python爬虫、Scrapy、Playwright、学术会议、数据采集、反爬对抗python复制下载。

2201_76125261的博客 711

XSL-FO 与 XSLT

XSL-FO与XSLT的关系总结: XSL-FO是最终排版语言,而XSLT是生成FO的转换工具。实际应用中,99.9%的场景都是通过XSLT将业务XML(如订单、发票)转换为FO格式,再通过FOP等处理器生成PDF。2025年主流用法包括:1)XSLT直出PDF(最常见);2)生成中间FO文件;3)Java/.NET程序调用;4)极少手写FO。典型技术栈组合推荐Java+Saxon+FOP或.NET+Saxon-CS+Antenna House。核心结论:永远用XSLT生成FO,掌握XSLT在金融、政务领域

likuolei的博客 874

ABAP链接外围数据库SQL实战案例

这是一个ABAP 直接读取SQL数据库数据的实例,以此种方式可以将SAP与外围的系统做一些集成,比如生产,SAP本身生产这部分是弱项,管不了那么细,很多车间的数据都是在MES系统,如管理上需要则可以将MES的一些数据自动读取过来,结合SAP本身的业务数据,做一些分析是比较方便的。 1、首先在SAP里建立数据库链接:DBCO ,直接增加一条记录,填上数据库的相关信息:IP地址、数据库名、账号SA、密码这些。 2、开发程序,设置成自动运行的计划,固定时间自动读取SQL里的数据,保存到SAP自定义表.

heng0757的专栏 1511

xml转PDF(xml&xslt-」fo-」pdf)_完整项目_CodingPark编程公园

文章介绍 1 制作一个xml实例 2 制作一个XSLT(fo)式样单 3 将XML文档通过XSLT转换成XSL-FO 4 采用FOP将上述文档转换成PDF格式 5 总结与思考 预备知识语法库 xml 与 xsl(fo) <?xml version="1.0" encoding="UTF-8"?> <!--如果xml+xslt(fo)可以不写 | 如果xml+xsl可以写,当你...

CodingPark 编程公园 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java中xsl用法_XSL-FO 简单使用方法(java & xsl-fo & xml)

XSL-FO 简单使用方法(java & xsl-fo & xml)package testfop;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.OutputStream;import javax.xml.transform.Res...

weixin_33140809的博客 498

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: Java与XML(四)xml的转换之html
下一篇: Java与XML(六)xml的转换之pdf (fo 2 pdf)
delva
博客等级 码龄23年 16粉丝 90原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值