在PDF中当涉及到布局问题时(不再是自动地添加文本、图片等等,对元素在页面上的位置有一定的要求),有时我们希望将一些图像或者文本放置在某页的指定位置,为实现该功能,我们将使用PdfContentByte类。

PdfContent对象可以通过在使用Writer对象中使用getDirectContent()方法来得到该对象。例:

PdfWriter writer= PdfWriter.GetInstance(document, new FileStream("D:\\hellowrold.pdf", FileMode.OpenOrCreate));

PdfContentByte cb=writer.DirectContent;

简单图形的绘制:

我们可以使用诸如moveTo和lineTo方法移动到页面上当前位置然后画一条直线到其他位置。例如

cb.LineWidth=10f;

cb.moveTo(100,700);

cb.lineTo(200,800);

cb.stroke();

模板(Form xObjects)

在页眉和页脚的解决方案时,我们可以选择定义一小块添加到每一页的信息,实际上,该小块信息写到了文件的每一个新页上。这并不是最经济的解决方案,更好的方法是将该信息作为一个Form Xobject 仅在文档中添加一次,在其可见位置重复出现。

1.创建一个PdfTemplate

2.创建PdfTemplate的最好方法是调用pdfContentByte对象中的createTemplate方法:PdfTemplate template=cb.createTemplate(500,200);

这样,该模板的宽度为500,高度为200。通过该模板我们可以做像PdfContentByte同样的事情

template.moveTo(0,200);

template.lineTo(500,0);

template.stroke();

添加一个文档到模板,通过下面一样在绝对位置添加一个模板

cb.addTemplate(template,0,400);

转载于:https://www.cnblogs.com/xuezhi/archive/2012/11/29/2793917.html

pdfContentByte 类 图像和文本的绝对位置相关推荐

  1. 1个模型横扫40+个SOTA!22位华人共同打造佛罗伦萨模型,一统图像视频文本,含9亿图像-文本对...

    关注公众号,发现CV技术之美 本文转载自新智元 编辑:小咸鱼 好困 LRS [导读]近日,微软正式发布了一个新的计算机视觉基础模型Florence(佛罗伦萨),要用一个模型一统多模态天下!Floren ...

  2. 图象和文本的绝对位置(九)

    pdfContentByte 到目前为止,我们已经使用了简单的iText,我们已经添加了文本.图片.段落.章节.列表.表格等,没有涉及到布局问题.Itext分割文本到每页中,并将每个单词.句子.段落布 ...

  3. 个人永久性免费-Excel催化剂功能第86波-人工智能之图像OCR文本识别全覆盖

    在上一年中,Excel催化剂已经送上一波人工智能系列功能,鉴于部分高端用户的需求,再次给予实现了复杂的图像OCR识别,包含几乎所有日常场景,让公司个人手头的图像非结构化数据瞬间变为可进行结构化处理分析 ...

  4. 图像转文本、PDF 转文字(包括html、xml)、关键句提取 软件开发手记

    文章目录 准备工作 声明 所需模块: 模块简介 安装方法: 软件开发 图像转文本 API 使用代码 其他 PDF 转文字 代码 Tooltip 关键句提取 截图 古文排版 软件使用 关于界面 国际化效 ...

  5. 多模态数据也能进行MAE?伯克利谷歌提出M3AE,在图像和文本数据上进行MAE!最优掩蔽率可达75%,显著高于BERT的15%...

    关注公众号,发现CV技术之美 本文分享论文『Multimodal Masked Autoencoders Learn Transferable Representations』,思考:多模态数据也能进 ...

  6. Android开发--使用实体类解析JSON文本

    Android开发–使用实体类解析JSON文本 在Android开发过程中,涉及到了API的调用的时候,会返回特定的数据,两个主流返回的数据格式是JSON形式和XML形式.但是相对于XML,JSON数 ...

  7. MFC模拟AutoCAD 在单文本视图窗口任意位置输入文字

    本文介绍如果通过MFC编程实现模拟AutoCAD 在单文本视图窗口任意位置输入文字. 先在VS2017中建一个名为FormatDemo单文档工程,在FormatDemoView.h中声明如下变量: p ...

  8. OpenCV-Python学习(12)—— OpenCV 向图像添加文本(cv.putText、cv.getTextSize)

    1. 学习目标 学会使用 cv.putText 函数向图像添加文本: 学会使用 cv.getTextSize 函数获取绘制文本占用的宽高等属性. 2. 绘制文本 cv.putText 函数说明 2.1 ...

  9. 使用OpenAI CLIP链接图像和文本

    介绍 尽管深度学习已经彻底改变了计算机视觉和自然语言处理,但使用当前最先进的方法仍然很困难,需要相当多的专业知识. 诸如对比语言图像预训练(CLIP)等OpenAI方法旨在降低这种复杂性,从而使开发人 ...

最新文章

  1. 调包侠福音!机器学习经典算法开源教程(附参数详解及代码实现)
  2. 随笔--2011.12.21
  3. 关于卡巴斯基安全免疫区随笔
  4. 127.0.0.1 php,关于php -fpm 出现127.0.0.1:9000已经被占用
  5. Google Code Jam 2015 Round 1A Mushroom Monster 水
  6. Sql Server系列:视图
  7. hdu4011(水贪心)
  8. 目标检测、分割、识别、分类综述
  9. c 连接oracle 通用类,c#操作oracle,有没有相仿sqlhelp之类的通用操作类(6)
  10. 我是京东智能配送机器人,已抵达您的楼下
  11. Android-动画-view 动画笔记
  12. 72. 少用 iframe
  13. 产品经理-思维导图梳理功能
  14. 一款在线画图工具的使用(推荐)
  15. 个人免签监测APP源码 短信微信支付宝 实时捕获回调收款通知!
  16. 《单域名下整合动网、动易、OBlog程序》
  17. 用c语言实现图片的任意倍数缩小和放大
  18. java语言多态性的表现形式_[Java教程]多态性的表现形式
  19. Unity3D 获取资源运行时内存和硬盘大小
  20. hermit插值 matlab,埃尔米特(Hermite)插值及其MATLAB程序

热门文章

  1. 【通俗易懂】手把手带你实现DeepFM!
  2. Pure Pursuit纯跟踪算法Python/Matlab算法实现
  3. 自动驾驶车辆转向控制(通过扭矩控制实现方向盘转角控制)
  4. android横向滑动选项卡,android – 如何使用可滑动选项卡实现PageTransformer
  5. 该文件可能是只读的 或者您要访问的位置_Linux应用编程之文件操作 系统调用篇(下)...
  6. python运行界面黑色,在Python中使用open执行轮廓检测后,如何使图像的背景变黑?...
  7. python中将列表中的元素倒序输出_python实现对列表中的元素进行倒序打印
  8. C语言n个坐标点间的最大距离,SOS!求检查程序,到17个点距离之和最小的点的坐标...
  9. mysql 中序号要怎么写_如何在mysql的字段ID中插入自动编号?
  10. 数据库数据类型、常见约束、系统结构的基本知识总结(SQL、DML、DQL、DCL、DTL)