java生成pdf字体居中,Java生成pdf文件,解决中文乱码问题
如下代码使用itext生成pdf文件,通过设置中文字体避免乱码。
/**
* AsianTest.java
*/
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.Font;
import java.awt.Color;
public class AsianTest {
public static void main(String[] args) {
// 创建一个Document对象
Document document = new Document();
try {
// 生成名为 AsianTest.pdf 的文档
PdfWriter.getInstance(document, new FileOutputStream(
"c://AsianTest.pdf"));
/**
* 新建一个字体,iText的方法 STSongStd-Light 是字体,在iTextAsian.jar 中以property为后缀
* UniGB-UCS2-H 是编码,在iTextAsian.jar 中以cmap为后缀 H 代表文字版式是 横版, 相应的 V
* 代表竖版
*/
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",
"UniGB-UCS2-H", false);
Font bold_fontChinese = new Font(bfChinese, 12, Font.BOLD,
Color.BLACK);
Font italic_fontChinese = new Font(bfChinese, 12, Font.ITALIC,
Color.BLACK);
Font impressFont = new Font(bfChinese, 16, Font.BOLDITALIC,
Color.BLACK);
// 打开文档,将要写入内容
document.open();
// 插入一个段落
// Paragraph par = new Paragraph("我们", fontChinese);
// document.add(par);
//
document.add(new Paragraph(" ", bold_fontChinese));
document.add(new Paragraph(" ", bold_fontChinese));
document.add(new Paragraph(" ", bold_fontChinese));
String[] Trainspotting1 = { "选择生命,选择工作,选择职业,选择家庭,",
"选择可恶的大彩电,选择洗衣机、汽车、雷射碟机,", "选择健康、低胆固醇和牙医保险,选择楼宇按揭,",
"选择你的朋友,选择套装、便服和行李,选择分期付款和三件套西装,",
"选择收看无聊的游戏节目,边看边吃零食……选择你的未来,选择生命……", "太多选择,你选择什么,我选择不选择。" };
String[] Trainspotting2 = { "这是电影《猜火车》开头的旁白。", "这是一个关于“选择”的故事。" };
String[] Benjamin1 = { "有些人就在河边出生长大,", "有些人被闪电击中,",
"有些人对音乐有着非凡的天赋,", "有些人是艺术家,", "有人会游泳,", "有人懂得做纽扣,",
"有人会背莎士比亚,", "而有些人。。。是母亲,", "也有些人,可以翩翩起舞。",
"Goodnight Daisy", "Goodnight Benjamin" };
String[] Benjamin2 = { "这是电影《本杰明传奇》结尾的旁白。", "这是一个关于“错过”的故事。" };
String[] text1 = { "我想说的是,", "我们选择,同时,我们错过。" };
String[] text2 = { "抛去无可选择的选择,抑或不选择的选择,",
"很有趣的一件事:当面临(太多的)选择,人们会如何选择;", "同时,人们又会如何看待错过。" };
String[] text3 = { "在开始和结束之间,选择了什么,又会错过什么,我还不知道。" };
String[] text4 = { "你会知道么?" };
//
for (String s : Trainspotting1) {
document.add(new Paragraph(s, italic_fontChinese));
document.add(new Paragraph(" ", italic_fontChinese));
}
for (String s : Trainspotting2) {
document.add(new Paragraph(s, bold_fontChinese));
}
document.add(new Paragraph(" ", bold_fontChinese));
document.add(new Paragraph(" ", bold_fontChinese));
document.add(new Paragraph(" ", bold_fontChinese));
for (String s : Benjamin1) {
document.add(new Paragraph(s, italic_fontChinese));
document.add(new Paragraph(" ", italic_fontChinese));
}
for (String s : Benjamin2) {
document.add(new Paragraph(s, bold_fontChinese));
}
document.add(new Paragraph(" ", bold_fontChinese));
document.add(new Paragraph(" ", bold_fontChinese));
document.add(new Paragraph(" ", bold_fontChinese));
for (String s : text1) {
document.add(new Paragraph(s, bold_fontChinese));
}
document.add(new Paragraph(" ", bold_fontChinese));
for (String s : text2) {
document.add(new Paragraph(s, bold_fontChinese));
}
document.add(new Paragraph(" ", bold_fontChinese));
for (String s : text3) {
document.add(new Paragraph(s, bold_fontChinese));
}
document.add(new Paragraph(" ", bold_fontChinese));
for (String s : text4) {
document.add(new Paragraph(s, bold_fontChinese));
}
document.add(new Paragraph(" ", bold_fontChinese));
//
String[] end = { "Some people were born to sit by a river...",
"Some get struck by light...",
"Some have an ear for music...", "Some are artists...",
"Some swim...", "Some know buttons...",
"Some know Shakespeare...", "Some are mothers...",
"And some people can dance..." };
for (String s : end) {
document.add(new Paragraph(s, bold_fontChinese));
}
document.add(new Paragraph(
"by the way, some people can write code.你", impressFont));
// Chapter
Paragraph title1 = new Paragraph("Chapter 1", italic_fontChinese);
Chapter chapter1 = new Chapter(title1, 1);
chapter1.setNumberDepth(0);
Paragraph title11 = new Paragraph(
"This is Section 1 in Chapter 1中文", italic_fontChinese);
Section section1 = chapter1.addSection(title11);
Paragraph someSectionText = new Paragraph(
"This text comes as part of section 1 of chapter 1.");
section1.add(someSectionText);
someSectionText = new Paragraph("Following is a 3 X 2 table.");
section1.add(someSectionText);
//
document.add(chapter1);
//
// 定义一个图片
Image jpeg = Image.getInstance("E:/01.jpg");
// 图片居中
jpeg.setAlignment(Image.ALIGN_CENTER);
document.add(jpeg);
} catch (DocumentException de) {
System.err.println(de.getMessage());
} catch (IOException ioe) {
System.err.println(ioe.getMessage());
}
// 关闭打开的文档
document.close();
}
}
java生成pdf字体居中,Java生成pdf文件,解决中文乱码问题相关推荐
- c执行cmd pdf2swf_swftools实现pdf文档转swf文件 解决中文乱码
通过swftools实现转换 2.安装完成之后,在命令行跳到安装目录,执行pdf2swf.exe d:\sss\123.pdf -o 123.swf 如果123.pdf为多页的,则pdf2swf.e ...
- java解压多目录Zip文件(解决中文乱码问题)--转载
原文地址:http://zhangyongbo.iteye.com/blog/1749439 import java.io.BufferedOutputStream; import java.io.F ...
- java解压_Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)
JDK中自带的ZipOutputStream在压缩文件时,如果文件名中有中文,则压缩后的 zip文件打开时发现中文文件名变成乱码. 解决的方法是使用apache-ant-zip.jar包(见附件)中的 ...
- java web应用 生僻字_Java Web项目中解决中文乱码方法总结
一.了解常识: 1.UTF-8国际编码,GBK中文编码.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.web tomcat:默认是ISO8859-1,不 ...
- java properties中文_Java读写.properties文件解决中文乱码问题
一般使用到properties配置文件,一般都是在spring项目里面,直接由框架帮你读,当然,你也得考虑到编码的问题. 但是现在要是要求使用Java直接读写properties文件,就发现很多的问题 ...
- php读取pdf文件乱码_PHP读取文件,解决中文乱码UTF-8的方法分析
本文实例讲述了PHP读取文件,解决中文乱码UTF-8的方法.分享给大家供大家参考,具体如下: $opts = array( 'file' => array( 'encoding' => & ...
- php 读取pdf文件内容 显示乱码,PHP读取文件,解决中文乱码UTF-8的方法分析
本文实例讲述了PHP读取文件,解决中文乱码UTF-8的方法.分享给大家供大家参考,具体如下: $opts = array( "file" => array( "en ...
- freemarker html 乱码,Freemarker生成静态html文件及中文乱码的问题.pdf
Freemarker生成静态html文件及中文乱码的问题,freemarker静态化页面,freemarker静态化,freemarker乱码,freemarker静态方法,freemarker中文乱 ...
- 【老徐子杰】PDF转图片方法(解决中文乱码)
[老徐子杰]PDF转图片方法(解决中文乱码) 欢迎交流使用(本文原创:转载请注明出处) 在做项目的时候,说实话大公司不可能使用破解版的DLL进行开发.所以ADOBE的组建不用,基本的BIMP转法面对各 ...
最新文章
- 20162318 2016-2017-2 《程序设计与数据结构》第7周学习总结
- 简述ie_apache_php_mysql的关系?,apache +php + mysql
- win7 找不到 计算机策略组,win7打开组策略报错:找不到资源string.Advanced_EnableSSL3Fallback...
- sqlmap第一次打靶成功
- iwconfig的使用
- Ubuntu urllib2.URLError:urlopen error unknown url type:https
- 小米 MIUI 12 Magisk root教程(无需刷REC)
- 【汇编程序】实现判断输入的年份是否为闰年
- scapy(二):基于流量分析的SQL注入检测
- html页面设置document类型,解析网页头部代码:Html Document
- 可变剪接分析流程(rMATS)
- python 剔除nan_Pandas的数据清洗-删除NaN数据
- PowerVR性能建议-黄金法则
- linux两个邮件服务,Linux系列-Red Hat5平台下的Postfix邮件服务搭建(二)
- defaultdic与dict对比
- mysql使得df和du不一致_df和du显示的磁盘空间使用情况不一致的原因及处理
- php实现视频转gif,mp4格式如何转换成gif格式
- GSM PDU模式发中文短信
- ASEMI整流桥GBU1010的检测
- matlab灰色关联逻辑分析模型,灰色理论灰色预测模型和灰色关联度分析matlab通用代码...
热门文章
- js学习笔记82——操作内联样式
- [机器学习算法]决策树和CART树
- Android 黑白模式切换后 文字颜色设置
- 浏览器兼容模式的快捷方法
- 还在抱怨没客户 这5大找客户技巧需掌握
- 电脑每次开机都自检怎么办?
- 创梦天地2014年Q3财报:乐逗游戏收入2.945亿元
- java was blocked_cors跨域中关于access-control-allow-headers导致的错误
- win2016 php mysql_Windows 2016 IIS10.0+PHP+MySQL环境搭建
- Kinect开发教程二:OpenNI读取深度图像与彩色图像并显示