看一下StampHeader1示例.我修改了您的代码,引入了ColumnText.showTextAligned()并为了简化起见使用了短语(也许您也可以更改代码的那一部分):

public void manipulatePdf(String src, String dest) throws IOException, DocumentException {

PdfReader reader = new PdfReader(src);

PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));

Phrase header = new Phrase("Copy", new Font(FontFamily.HELVETICA, 14));

for (int i = 1; i <= reader.getNumberOfPages(); i++) {

float x = reader.getPageSize(i).getWidth() / 2;

float y = reader.getPageSize(i).getTop(20);

ColumnText.showTextAligned(

stamper.getOverContent(i), Element.ALIGN_CENTER,

header, x, y, 0);

}

stamper.close();

reader.close();

}

如您所知,此代码假定未定义旋转.

现在看一下StampHeader2示例.我正在使用您的“错误”文件,并且添加了另外一行:

stamper.setRotateContents(false);

通过告诉压模不要旋转要添加的内容,可以使用坐标添加内容,就好像页面没有旋转一样.请查看结果:stamped_header2.pdf.我们在页面顶部添加了“复制”,但是随着页面旋转,我们看到单词出现在侧面.单词被旋转,因为页面被旋转.

也许这就是您想要的,也许不是.如果不是,请看一下StampHeader3,根据页面的旋转,我以不同的方式计算x和y:

if (reader.getPageRotation(i) % 180 == 0) {

x = reader.getPageSize(i).getWidth() / 2;

y = reader.getPageSize(i).getTop(20);

}

else {

x = reader.getPageSize(i).getHeight() / 2;

y = reader.getPageSize(i).getRight(20);

}

现在,“复制”一词出现在“页面顶部”上(但实际上,它可能是页面的侧面):stamped_header3.pdf

itext设置pdf的尺寸_java-iText PDFDocument页面大小不正确相关推荐

  1. itext设置pdf的尺寸_java 用itext设置pdf纸张大小操作

    做快递面单打印模板,快递要求纸张大小100 x 150mm. PageSize.A4=595 x 842 A4尺寸=210mm×297mm 故设置纸张大小: public static final R ...

  2. itext设置pdf的尺寸_如何获取pdf文档iText 7的页面大小-问答-阿里云开发者社区-阿里云...

    我在iText 7中有一个Java程序,可以接收JSON数据并生成一个PDF文档(带有页眉和页脚),该文档可以很好地处理clientData注释中的变量中的数据,但是当在无注释clientData中使 ...

  3. itext设置pdf的尺寸_iText图像调整大小

    我要在pdf文件中添加一个水印.水印是.bmp图像,并且是2290 x3026.尝试调整此图片的大小以适合页面时,我遇到很多麻烦,有人有什么建议吗? Document document = new D ...

  4. itext设置pdf的尺寸_itext设置pdf的尺寸_iText图像调整大小

    我要在pdf文件中添加一个水印.水印是.bmp图像,并且是2290 x3026.尝试调整此图片的大小以适合页面时,我遇到很多麻烦,有人有什么建议吗? Document document = new D ...

  5. itext设置pdf的尺寸_freemark+ITextRenderer 生成PDF,设置pdf的页面大小

    [zz]matlab 求差集 matlab判断2个数组中不同元素--setdiff c = setdiff(A, B) 返回在A中有,而B中没有的值,结果向量将以升序排序返回.在集合论中,c = A ...

  6. java 设置纸张大小设置_java 用itext设置pdf纸张大小操作

    做快递面单打印模板,快递要求纸张大小100 x 150mm. PageSize.A4=595 x 842 A4尺寸=210mm×297mm 故设置纸张大小: public static final R ...

  7. java pdf 用系统字体大小_java 用itext设置pdf纸张大小操作_Java_软件编程

    做快递面单打印模板,快递要求纸张大小100 x 150mm. PageSize.A4=595 x 842 A4尺寸=210mm×297mm 故设置纸张大小: public static final R ...

  8. java设置pdf不可编辑_Java动态生成pdf文件(使用itext编辑pdf)

    一.创建pdf模板 使用PDFelement制作pdf模板(数据域的名称对应后面插入的key) 二.导入maven依赖 com.itextpdf itextpdf 5.5.13 com.itextpd ...

  9. java 生成pdf 插件下载_java(iText)工具包生成PDF

    iText是一个非常著名的能够快速产生PDF文件的Java类库.支持文本,表格,图形的操作,可以方便的跟 Servlet 进行结合 iText的更新变化很大,早期版本在PDF样式上可能会有瑕疵,所有我 ...

最新文章

  1. 链表问题9——复制含有随机指针节点的链表(初阶)
  2. 机器学习基础专题:逻辑回归
  3. Swift中关于元组的某些特性
  4. js jquery 数组的合并 对象的合并
  5. 自己做一桌丰盛晚餐犒劳犒劳
  6. 把checkbox复选框转换成单选按钮radio
  7. sql依据单个字段去重_小白学习笔记,测试工程师必备SQL语句整理
  8. Java中HttpClient设置超时时间
  9. 解决载入自定义视图时出现InflateException #8:Error inflating的错误
  10. 洛谷——P1476 休息中的小呆
  11. datagrid 溢出文本显示省略号
  12. c++中的MFC可视化编程
  13. 2001年新闻组大全
  14. 最简单的三步yum配置阿里源
  15. dnf时装补丁教程_DNF补丁教程:就 是 这 么 简 单
  16. 【算法复习】迭代改进
  17. 杰理之AI协议之CMD_SET_BLE_VISIBILITY命令格式【篇】
  18. 使用Fragment兼容Tablet和Handset
  19. C51单片机学习笔记之串口通信
  20. Android(DDMS)Can't bind to local 8700 for debugger

热门文章

  1. C语言:对字符串快速排序
  2. 天谕搬砖哪个服务器稳定,天谕手游哪个区人多 官服哪个服务器最火爆值得选...
  3. win10自带的照片查看器消失了
  4. 中国八大菜系到底是哪八大?八大菜系的说法是怎么来的?
  5. 苹果网络变成lte开不了热点解决方法
  6. 第74期CDA数据分析就业班即将在北京、成都、重庆 三校同步开课,欢迎咨询!...
  7. 怎么用python求反函数?
  8. 复合水凝胶的TEM分析(提供二氧化钛氧化石墨烯复合水凝胶/聚乙烯醇/季铵盐壳聚糖复合水凝胶/温敏性纤维素/聚N-异丙基丙烯酰胺复合水凝胶/聚乙烯醇(PVA)/P(AA-AM)复合水凝胶定制)
  9. js验证电子邮箱,js验证email合法性,javascript验证电子信箱
  10. 我本是学机械的,却爱上了电子!