itext A4纸张横向创建PDF
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.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Rectangle;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfPageEventHelper;
import com.lowagie.text.pdf.PdfWriter;
public class Test{
public static void main(String[] as) throws Exception{
Test.testRotate();
}
/**
*itext A4纸张横向创建PDF,需要加itext jar报
*http://www.cnblogs.com/qgc88/
*/
public static void testRotate(){
Document document = new Document();
//横向
Rectangle pageSize = new Rectangle(PageSize.A4.height(), PageSize.A4.width());
pageSize.rotate();
document.setPageSize(pageSize);
// 页码
Page page = new Page();
page.setPageFormat("— %d —");
page.setRelativeY(-10);
page.setRelativeX(-35);
PdfPageEventHelper eventPage[] = new PdfPageEventHelper[1];
eventPage[0] = page;
try {
String destPath="E:\\test.pdf";
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream(destPath));
if (eventPage != null) {
for (PdfPageEventHelper event : eventPage) {
writer.setPageEvent(event);
}
}
document.open();
BaseFont fontChinese = null;
try {
fontChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",
BaseFont.NOT_EMBEDDED);// 设置中文字体(支持中文显示)
} catch (Exception e) {
e.printStackTrace();
}
String titlec="意见汇总";
Font chinese12 = new Font(fontChinese, 12, Font.NORMAL);
Font chineseB12 = new Font(fontChinese, 12, Font.BOLD);
Font chinese = new Font(fontChinese, 18, Font.BOLD);
Paragraph title = new Paragraph(titlec, chinese);
title.setAlignment(Element.ALIGN_CENTER);
document.add(title);
Table table = new Table(8); //8是总的列数,也可以同时指定行数和列数new Table(3,4)
table.setTableFitsPage(true);//防止跨页有段开的边框(填充整页)
table.setWidths(new int[]{5,20,10,10,10,10,5,30}); //每列比例
table.setWidth(100);//表格站table 100%
table.setBorder(0);
Cell cell = new Cell();
cell.setHeader(true);
// cell.setColspan(8);
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.addElement((new Paragraph("序号\n ", chineseB12)));
table.addCell(cell);
cell = new Cell();
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.addElement((new Paragraph("项目名称\n ", chineseB12)));
table.addCell(cell);
cell = new Cell();
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.addElement((new Paragraph("申报单位\n ", chineseB12)));
table.addCell(cell);
cell = new Cell();
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.addElement((new Paragraph("组别\n ", chineseB12)));
table.addCell(cell);
cell = new Cell();
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.addElement((new Paragraph("计划类型\n ", chineseB12)));
table.addCell(cell);
cell = new Cell();
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.addElement((new Paragraph("资金(万元)\n ", chineseB12)));
table.addCell(cell);
cell = new Cell();
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.addElement((new Paragraph("评分\n ", chineseB12)));
table.addCell(cell);
cell = new Cell();
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.addElement((new Paragraph("专家组意见\n ", chineseB12)));
table.addCell(cell);
table.endHeaders();
for (int i = 0; i < 20; i++) {
Cell cell1 = new Cell(String.valueOf(i));
cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
//max lines ,设置成1防止换行,配合cell宽度,可以实现自动截取
// cell1.setMaxLines(1);
table.addCell(cell1);
Cell cell2 = new Cell();
cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell2.setHorizontalAlignment(Element.ALIGN_LEFT);
cell2.addElement(new Paragraph("项目测目测目测目测目测试1", chinese12));
table.addCell(cell2);
Cell cell3 = new Cell();
cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell3.setHorizontalAlignment(Element.ALIGN_LEFT);
cell3.addElement(new Paragraph("项目目测目测测试1", chinese12));
table.addCell(cell3);
Cell cell4 = new Cell();
cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell4.setHorizontalAlignment(Element.ALIGN_CENTER);
cell4.addElement(new Paragraph("http://www.cnblogs.com/qgc88/", chinese12));
table.addCell(cell4);
Cell cell5 = new Cell();
cell5.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell5.setHorizontalAlignment(Element.ALIGN_LEFT);
cell5.addElement(new Paragraph("科技人才需求", chinese12));
table.addCell(cell5);
Cell cell6 = new Cell();
cell6.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell6.setHorizontalAlignment(Element.ALIGN_CENTER);
cell6.addElement(new Paragraph("22", chinese12));
table.addCell(cell6);
Cell cell7 = new Cell();
cell7.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell7.setHorizontalAlignment(Element.ALIGN_CENTER);
cell7.addElement(new Paragraph("100.00", chinese12));
table.addCell(cell7);
Cell cell8 = new Cell();
cell8.setVerticalAlignment(Element.ALIGN_MIDDLE);
cell8.setHorizontalAlignment(Element.ALIGN_LEFT);
cell8.addElement(new Paragraph("主审家综合意", chinese12));
table.addCell(cell8);
}
document.add(table);
} catch (DocumentException de) {
System.err.println(de.getMessage());
} catch (IOException ioe) {
System.err.println(ioe.getMessage());
}
document.close();
}
}
itext A4纸张横向创建PDF的更多相关文章
- 使用iText库创建PDF文件
前言 译文连接:http://howtodoinjava.com/apache-commons/create-pdf-files-in-java-itext-tutorial/ 对于excel文件的读 ...
- itext poi 学习之旅 (1)创建pdf
从零开始学习itext 创建pdf 1.用到流进行创建的pdf import java.io.File; import java.io.FileOutputStream; import com.ite ...
- .net快速创建PDF文档 by c#
原文地址:http://www.cnblogs.com/Creator/archive/2010/03/13/1685020.html C#引用IText创建PDF文档 先引用IText 可以从 ...
- 使用Rotativa在ASP.NET Core MVC中创建PDF
在本文中,我们将学习如何使用Rotativa.AspNetCore工具从ASP.NET Core中的视图创建PDF.如果您使用ASP.NET MVC,那么Rotativa工具已经可用,我们可以使用 ...
- NET Core MVC中创建PDF
使用Rotativa在ASP.NET Core MVC中创建PDF 在本文中,我们将学习如何使用Rotativa.AspNetCore工具从ASP.NET Core中的视图创建PDF.如果您使用ASP ...
- C# /VB.NET 创建PDF项目符号列表和多级编号列表
使用项目符号和编号,可以让文档的层次结构更清晰.更有条理,也更容易突出重点.在编辑文档的过程中,我个人也比较偏爱项目标号来标注文章重点信息.在之前的文章中,介绍了如何在Word中来创建项目标号和编号列 ...
- python从TXT创建PDF文件——reportlab
使用reportlab创建PDF文件电子书一般都是txt格式的,某些电子阅读器不能读取txt的文档,如DPT-RP1.因此本文从使用python实现txt到pdf的转换,并且支持生成目录,目录能够生成 ...
- 01.在Java中如何创建PDF文件
1.简介 在这篇快速文章中,我们将重点介绍基于流行的iText和PdfBox库从头开始创建 PDF 文档. 2. Maven 依赖 <dependency> <groupId> ...
- HTML生成横向的PDF
HTML生成PDF请参照:https://www.cnblogs.com/yunfeiyang-88/p/10984740.html 如要生成横向的PDF:在html模板的style标签里面加入@pa ...
随机推荐
- WINDOWS-基础:_T
_T("")是一个宏,定义于tchar.h下. #define __T(x) L ## x #define _T(x) __T(x) 作用 他的作用是让你的程序支持Unicode编 ...
- python爬虫---实现项目(三) Selenium分析美团美食
上一期博客,我本来想爬取美团美食的,但是由于请求头太复杂,没有破解开其中的几个参数,所以放弃,这次我们来用selenium来模式浏览器抓取数据,我们先来简单看一下流程: 1,利用selenium驱动浏 ...
- 洛谷 P2668 斗地主
毒瘤题目,搞了三天-- 也没什么好讲的,就是纯搜索,先搜顺子,再搜其他的,最后单张牌和对子的时候,就不要搜索了,直接枚举,不然会T飞掉多么痛的领悟-- 主要还是靠码力 #include<iost ...
- 【动态规划】luoguP1941 飞扬的小鸟
细节总是打挂选手:) 题目描述 Flappy Bird是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管 ...
- Django_外键查询和反查询
一.ForeignKey @property装饰器的作用是返回一个属性特性,在数据库中也有一些小技巧可以拿来用,比如今天要写的外键查询和反向查询的内容. from django.db import m ...
- 【Java_基础】java中的多态性
方法的重载.重写和动态链接构成了java的多态性. 1.方法的重载 同一个类中多个同名但形参有所差异的方法,在调用时会根据参数的不同做出选择. 2.方法的重写 子类中重新定义了父类的方法,有关方法重写 ...
- 什么是php?php的优缺点有哪些?与其它编程语言的优缺点?
身为一个PHP开发者,有必要了解一下PHP的缺点,知道每种语言的优点和缺点,才能知道某种语言在什么场景下适合使用,在什么场景下不适合使用. 这个问题我曾经面试的时候遇到过,我之前没总结过,第一问大部分 ...
- python 有4个数字1234,能组成多少个互不相同且无重复的三位数数字。
def output(): count = 0 for i in range(1,5): for j in range(1, 5): for k in range(1, 5): if i==j or ...
- 我的Python分析成长之路2
2018-12-29 一.python数据类型: 1.数字 int(整形) float(浮点型) complex(复数型) 2.布尔值(bool) 真或假 True or False 3.字符 ...
- (转)去除背景色的方法,适合iOS5/6/7/8.0beta
通常使用UISearchbar都需要去除其背景色来与自己的界面风格保持协调,但是UISearchbar的设计随着iOS版本的升级不断地在发生着变化,下面我们通过分析UISearchbar在各个iOS版 ...