java实现pdf旋转_Java实现PDF文本旋转倾斜的方法
Java实现PDF文本旋转倾斜的方法
发布时间:2020-07-23 16:08:49
来源:亿速云
阅读:54
作者:小猪
这篇文章主要讲解了Java实现PDF文本旋转倾斜的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
注:需要使用PDF类库工具Spire.PDF for Java,可下载jar包,并解压将lib文件夹下载Jar包并解压,并解压将lib文件夹下的jar文件导入java程序;或者也可以通过Maven仓库下载导入。
Java示例
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
public class TextStyle {
public static void main(String[] args) {
//创建PDF文档,添加一页
PdfDocument pdf = new PdfDocument();
PdfPageBase page = pdf.appendPage();
//设置文本倾斜
TransformText(page);
//旋转文本
RotateText(page);
//保存文档
pdf.saveToFile("DrawText.pdf",FileFormat.PDF);
pdf.close();
}
//自定义方法在页面添加文本,并设置文本偏移
private static void TransformText(PdfPageBase page)
{
PdfGraphicsState state = page.getCanvas().save();//保存画布状态
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 18f);//创建字体,包括字体、字号等
//创建三个画刷,并指定颜色
PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(new Color(60,179,113)));
PdfSolidBrush brush3 = new PdfSolidBrush(new PdfRGBColor(new Color(139,0,139)));
PdfSolidBrush brush4 = new PdfSolidBrush(new PdfRGBColor(new Color(205,92,92)));
page.getCanvas().translateTransform(20,120);//设置文本在画布中的坐标位置
page.getCanvas().scaleTransform(1f,1f);//设置文本大小(scaleX值越大,文本越向右横向拉伸;scaleY值越大,文本越向上纵向拉伸)
page.getCanvas().skewTransform(-10,0);//设置文本偏转角度(angleX值为文本整体偏移角度,angleY值为字符偏移角度)
page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, 0);//绘制文本
page.getCanvas().skewTransform(10, 10);
page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush3, 0, 0);//绘制文本
page.getCanvas().scaleTransform(1f, -2f);
page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush4, 0, -2 * 18);//绘制文本
//再次保存画布状态
page.getCanvas().restore(state);
}
//自定义方法在页面添加文本,并设置文本旋转
private static void RotateText(PdfPageBase page)
{
PdfGraphicsState state = page.getCanvas().save();//保存画布状态
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 10f);//创建字体
PdfSolidBrush brush5 = new PdfSolidBrush(new PdfRGBColor(139,69,19));//创建画刷4
PdfStringFormat centerAlignment = new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);//设置文本对齐方式
//指定文本在画布中的坐标位置
float x = (float) (page.getCanvas().getClientSize().getWidth()/2);
float y = 390;
page.getCanvas().translateTransform(x,y);
//循环绘制12条文本内容,并设置每条文本内容间隔30度,即每一条文本内容以绘制的上一文本内容旋转30度(这里如只需绘制单个文本,直接指定旋转角度即可)
for (int i = 0; i < 12; i++) {
page.getCanvas().rotateTransform(30);
page.getCanvas().drawString("Go! Turn Around! Go! Go! Go!", font, brush5, 20, 0, centerAlignment);
}
//再次保存画布状态
page.getCanvas().restore(state);
}
}
设置结果:
看完上述内容,是不是对Java实现PDF文本旋转倾斜的方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
java实现pdf旋转_Java实现PDF文本旋转倾斜的方法相关推荐
- java pdf 水印_Java 在PDF中添加水印——文本/图片水印
水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下java示例,将分别使用inserttextwatermark(pdfpagebas ...
- java给文件添加水印_Java在PDF中添加水印(文本/图片水印)
水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...
- java pdf 水印_Java在PDF中添加水印(文本/图片水印)
水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...
- java pdf 水印_Java在PDF中添加水印(文本/图片水印)效果
水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...
- java 设置pdf 编码格式_Java 在PDF中添加条形码
条形码,是由宽度不等的多个黑条和空白所组成,用以表达一组信息的图形标识符.通过给文档添加条形码,可以直观,快捷地访问和分享一些重要的信息.本文就将通过使用Java程序来演示如何在PDF文档中添加Cod ...
- java 去掉pdf文字_Java 删除PDF中的附件
在PDF中添加附件,可分两种情况,一种是直接把文档作为附件插入到PDF,一种是注释附件,即将文档通过注释的形式插入到PDF页面中的指定位置,通过点击注释,即可打开注释中的附件文档.同样的,在我们删除P ...
- java读取pdf签名_Java 获取PDF中的数字签名信息
一.概述及程序环境要求 本文以Java代码演示如何获取PDF文档中的数字签名信息,包括签名人.签名位置.日期.原因.联系方式.签名在文档中的坐标等等. 程序环境包括: Spire.Pdf.jar(ja ...
- java修改图章图片_Java 处理PDF图章(印章)——图片图章、动态图章
图章(印章)是一种在合同.票据.公文等文件中表明法律效应.部门机关权威的重要指示物,常见于各种格式的文件.文档中.对于纸质文档可以手动盖章,但对于电子文档,则需要通过特定的方法来实现.本篇文档分享通过 ...
- java版 pdf转换_Java 转换 PDF 版本
在日常工作或生活中,我们使用的某些设备可能对PDF版本有严格要求,此时就需要更改PDF版本来适应设备.本文就将展示如何通过Free Spire.PDF for Java来转换PDF版本.(支持转换PD ...
- java word 添加水印图片_Java添加Word文本水印和图片水印
水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire ...
最新文章
- undefined reference to 'typeinfo for android::Thread'
- vs里根据json快速创建对应类的方法
- 第6章 Python 数字图像处理(DIP) - 彩色图像处理3 -色彩变换、彩色校正、彩色图像平滑和锐化、HSI彩色空间中的分割、RGB空间中的分割、彩色边缘检测
- .NET Core HttpClient源码探究
- 谷歌 Nest 和 Fitbit 漏洞奖励翻番
- 数据结构笔记(十七)--矩阵的压缩存储
- 如何在Mac OSX上装妥node-camera
- node js 修改js代码自动发布到服务器
- windows配置jdk环境变量、mysql环境变量、tomcat环境变量、maven环境变量、git环境变量、node环境变量
- Linux 操作系统 之 虚拟内存
- 2021年湖北省区块链技术应用创新创业大赛已正式启动,欢迎报名参赛
- 学生信息管理系统python面向对象_Python学员管理系统【面向对象实现】
- 这份整理的图解Java(全彩版)火了,完整PDF开放下载
- STM32驱动12bit AD TLC2543(I/O模拟方式)
- 计算机开机最快,教你如何让你的电脑快速开机
- 三维纽结与弦理论的一些猜想
- matlab2012a到期重新激活
- 现实环境中,关于Teb Local Planner 参数调试总结
- 【2018慢性病与信息大会】吴良友:信息化背景下慢性病监测工作变革
- Linux鸟哥的私房菜(硬件)