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文本旋转倾斜的方法相关推荐

  1. java pdf 水印_Java 在PDF中添加水印——文本/图片水印

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下java示例,将分别使用inserttextwatermark(pdfpagebas ...

  2. java给文件添加水印_Java在PDF中添加水印(文本/图片水印)

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  3. java pdf 水印_Java在PDF中添加水印(文本/图片水印)

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  4. java pdf 水印_Java在PDF中添加水印(文本/图片水印)效果

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  5. java 设置pdf 编码格式_Java 在PDF中添加条形码

    条形码,是由宽度不等的多个黑条和空白所组成,用以表达一组信息的图形标识符.通过给文档添加条形码,可以直观,快捷地访问和分享一些重要的信息.本文就将通过使用Java程序来演示如何在PDF文档中添加Cod ...

  6. java 去掉pdf文字_Java 删除PDF中的附件

    在PDF中添加附件,可分两种情况,一种是直接把文档作为附件插入到PDF,一种是注释附件,即将文档通过注释的形式插入到PDF页面中的指定位置,通过点击注释,即可打开注释中的附件文档.同样的,在我们删除P ...

  7. java读取pdf签名_Java 获取PDF中的数字签名信息

    一.概述及程序环境要求 本文以Java代码演示如何获取PDF文档中的数字签名信息,包括签名人.签名位置.日期.原因.联系方式.签名在文档中的坐标等等. 程序环境包括: Spire.Pdf.jar(ja ...

  8. java修改图章图片_Java 处理PDF图章(印章)——图片图章、动态图章

    图章(印章)是一种在合同.票据.公文等文件中表明法律效应.部门机关权威的重要指示物,常见于各种格式的文件.文档中.对于纸质文档可以手动盖章,但对于电子文档,则需要通过特定的方法来实现.本篇文档分享通过 ...

  9. java版 pdf转换_Java 转换 PDF 版本

    在日常工作或生活中,我们使用的某些设备可能对PDF版本有严格要求,此时就需要更改PDF版本来适应设备.本文就将展示如何通过Free Spire.PDF for Java来转换PDF版本.(支持转换PD ...

  10. java word 添加水印图片_Java添加Word文本水印和图片水印

    水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire ...

最新文章

  1. undefined reference to 'typeinfo for android::Thread'
  2. vs里根据json快速创建对应类的方法
  3. 第6章 Python 数字图像处理(DIP) - 彩色图像处理3 -色彩变换、彩色校正、彩色图像平滑和锐化、HSI彩色空间中的分割、RGB空间中的分割、彩色边缘检测
  4. .NET Core HttpClient源码探究
  5. 谷歌 Nest 和 Fitbit 漏洞奖励翻番
  6. 数据结构笔记(十七)--矩阵的压缩存储
  7. 如何在Mac OSX上装妥node-camera
  8. node js 修改js代码自动发布到服务器
  9. windows配置jdk环境变量、mysql环境变量、tomcat环境变量、maven环境变量、git环境变量、node环境变量
  10. Linux 操作系统 之 虚拟内存
  11. 2021年湖北省区块链技术应用创新创业大赛已正式启动,欢迎报名参赛
  12. 学生信息管理系统python面向对象_Python学员管理系统【面向对象实现】
  13. 这份整理的图解Java(全彩版)火了,完整PDF开放下载
  14. STM32驱动12bit AD TLC2543(I/O模拟方式)
  15. 计算机开机最快,教你如何让你的电脑快速开机
  16. 三维纽结与弦理论的一些猜想
  17. matlab2012a到期重新激活
  18. 现实环境中,关于Teb Local Planner 参数调试总结
  19. 【2018慢性病与信息大会】吴良友:信息化背景下慢性病监测工作变革
  20. Linux鸟哥的私房菜(硬件)

热门文章

  1. 日本外贸市场开发攻略
  2. Apple Pay编程指南
  3. 【打印机】mac上添加打印机
  4. 产品读书《粉丝经济:传统企业转型互联网的突破口》
  5. Excel如何锁定首列,教程来啦!怎样将excel的列锁定冻结
  6. 架构思维成长系列教程(八)- 电商供应链系统架构设计
  7. 基于wifi的物联网技术,主要有哪些优势?
  8. 浏览器兼容性测试及常见问题
  9. 如何在win7系统上装苹果雪豹操作系统
  10. python手机端抢票大麦网_手把手教你用python抢票回家过年 !