java markdown生成pdf,用itext生成pdf文件

用itext生成pdf文件

生成pdf代码如下所示:

package word;

import java.awt.Color; import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Cell; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Element; import com.lowagie.text.Font; import com.lowagie.text.FontFactory; import com.lowagie.text.Image; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Phrase; import com.lowagie.text.Table; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfWriter;

public class TestPdf { /** * 生成一个简单的PDF文件:HelloWorld.pdf * * 作者:小段 */ public static void main(String[] args) { System.out.println(“Hello World”); // 第一步:创建一个document对象。 Document document = new Document(PageSize.A4); try { // 第二步: // 创建一个PdfWriter实例, // 将文件输出流指向一个文件。 PdfWriter.getInstance(document, new FileOutputStream( “d:\HelloWorld.pdf”)); // 第三步:打开文档。 document.open(); // 第四步:在文档中增加一个段落。 document.add(new Paragraph(“Hello World” + “,” + “Hello iText” + “,” + “Hello xDuan”));

//以下和生成word一样。

// 设置中文字体

BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",

"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.GREEN);

// 设置 Table 表格

Table aTable = new Table(3);

int width[] =

{ 25, 25, 50 };

aTable.setWidths(width);// 设置每列所占比例

aTable.setWidth(90); // 占页面宽度 90%

aTable.setAlignment(Element.ALIGN_CENTER);// 居中显示

aTable.setAlignment(Element.ALIGN_MIDDLE);// 纵向居中显示

aTable.setAutoFillEmptyCells(true); // 自动填满

aTable.setBorderWidth(1); // 边框宽度

aTable.setBorderColor(new Color(0, 125, 255)); // 边框颜色

aTable.setPadding(2);// 衬距,看效果就知道什么意思了

aTable.setSpacing(0);// 即单元格之间的间距

aTable.setBorder(2);// 边框

// 设置表头

/**

* cell.setHeader(true);是将该单元格作为表头信息显示;

* cell.setColspan(3);指定了该单元格占3列; 为表格添加表头信息时,要注意的是一旦表头信息添加完了之后, 必须调用

* endHeaders()方法,否则当表格跨页后,表头信息不会再显示

*/

Cell haderCell = new Cell(new Phrase("表格表头", fontChinese));

haderCell.setHeader(true);

haderCell.setColspan(3);

aTable.addCell(haderCell);

aTable.endHeaders();

Cell cell = new Cell(

new Phrase("这是一个测试的 3*3 Table 数据", fontChinese));

cell.setVerticalAlignment(Element.ALIGN_TOP);

cell.setBorderColor(new Color(255, 0, 0));

cell.setRowspan(2);

aTable.addCell(cell);

aTable.addCell(new Cell("#1"));

aTable.addCell(new Cell("#2"));

aTable.addCell(new Cell("#3"));

aTable.addCell(new Cell("#4"));

Cell cell3 = new Cell(new Phrase("一行三列数据", fontChinese));

cell3.setColspan(3);

cell3.setVerticalAlignment(Element.ALIGN_CENTER);

aTable.addCell(cell3);

document.add(aTable);

document.add(new Paragraph("\n"));

//以上和生成word一样。

} catch (DocumentException de)

{

System.err.println(de.getMessage());

} catch (IOException ioe)

{

System.err.println(ioe.getMessage());

}

// 第五步:关闭文档。

document.close();

// 检验程序是否正常运行到这里。

System.out.println("已生成文档");

}

}

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1 功能;增加了 多屏幕编辑 Markdown文章功能;增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/Command + Shift + H 无序列表:Ctrl/Command + Shift + U 有序列表:Ctrl/Command + Shift + O 检查列表:Ctrl/Command + Shift + C 插入代码:Ctrl/Command + Shift + K 插入链接:Ctrl/Command + Shift + L 插入图片:Ctrl/Command + Shift + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。 输入2次#,并按下space后,将生成2级标题。 以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片:

带尺寸的图片:

居中的图片:

居中并且带尺寸的图片:

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block

var foo = 'bar';

生成一个适合你的列表

项目

项目

项目

项目1项目2项目3

计划任务 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value电脑$1600手机$12导管$1

设定内容居中、居左、居右

使用:---------:居中 使用:----------居左 使用----------:居右

第一列第二列第三列第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTMLSingle backticks'Isn't this fun?'‘Isn’t this fun?’Quotes"Isn't this fun?"“Isn’t this fun?”Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown

Text-to-

HTML conversion tool

Authors

John

Luke

如何创建一个注脚

一个具有注脚的文本。2

注释也是必不可少的

Markdown将文本转换为 HTML。

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示

Γ

(

n

)

=

(

n

1

)

!

n

N

\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N

Γ(n)=(n−1)!∀n∈N 是通过欧拉积分

Γ

(

z

)

=

0

t

z

1

e

t

d

t

 

.

\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

Γ(z)=∫0∞tz−1e−tdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

新的甘特图功能,丰富你的文章

Mon 06

Mon 13

Mon 20

已完成

进行中

计划一

计划二

现有任务

Adding GANTT diagram functionality to mermaid

关于 甘特图 语法,参考 这儿,

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

张三

李四

王五

你好!李四, 最近怎么样?

你最近怎么样,王五?

我很好,谢谢!

我很好,谢谢!

李四想了很长时间,

文字太长了

不适合放在一行.

打量着王五...

很好... 王五, 你怎么样?

张三

李四

王五

这将产生一个流程图。:

链接

长方形

圆角长方形

菱形

关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0

开始

我的操作

确认?

结束

yes

no

关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入, 继续你的创作。

mermaid语法说明 ↩︎ 注脚的解释 ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值