首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何勾选“根据pdf页面大小选择纸张来源”iText7?

iText7 是一个流行的用于处理 PDF 文件的开源库。勾选“根据 PDF 页面大小选择纸张来源”是一种根据 PDF 页面大小来选择打印机纸张来源的需求。在 iText7 中,可以通过以下步骤来实现:

  1. 使用 iText7 的 API,首先需要创建一个 PdfPrintEventHandler 类的子类,以便在打印过程中处理事件。
  2. 在子类中,覆盖 onOpenDocument() 方法,用于初始化打印过程。
  3. 在子类中,覆盖 onStartPage() 方法,用于在每个页面开始打印之前执行特定操作。
  4. 在 onStartPage() 方法中,获取当前页面的大小。
  5. 根据页面大小选择适当的纸张来源,可以使用打印 API 或系统调用来完成此操作。
  6. 在 onStartPage() 方法中,使用选择的纸张来源设置打印机的打印选项。
  7. 在子类中,覆盖 onCloseDocument() 方法,用于结束打印过程。

以下是一个示例代码,演示如何使用 iText7 实现根据 PDF 页面大小选择纸张来源:

代码语言:txt
复制
import com.itextpdf.kernel.events.PdfDocumentEvent;
import com.itextpdf.kernel.events.PdfEventDispatcher;
import com.itextpdf.kernel.events.PdfEventHandler;
import com.itextpdf.kernel.events.PdfPageEvent;
import com.itextpdf.kernel.events.PdfPageEventHelper;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;

public class CustomPdfPrintEventHandler extends PdfPageEventHelper {
  
  @Override
  public void onOpenDocument(PdfDocumentEvent event) {
    // 初始化打印过程
    // 可以在这里进行打印机初始化等操作
  }
  
  @Override
  public void onStartPage(PdfDocumentEvent event) {
    // 获取当前页面的大小
    PdfDocument pdf = event.getDocument();
    int pageNumber = pdf.getPageNumber(event.getPage());
    float pageSizeX = pdf.getPage(pageNumber).getPageSize().getWidth();
    float pageSizeY = pdf.getPage(pageNumber).getPageSize().getHeight();
    
    // 根据页面大小选择纸张来源
    // 可以使用打印 API 或系统调用来完成此操作
    
    // 设置打印机的打印选项
    // 可以使用打印 API 或系统调用来完成此操作
  }
  
  @Override
  public void onCloseDocument(PdfDocumentEvent event) {
    // 结束打印过程
    // 可以在这里进行打印机关闭等操作
  }
}

public class PdfPrintExample {
  
  public static void main(String[] args) {
    try {
      String inputPdfFile = "input.pdf";
      String outputPdfFile = "output.pdf";
      
      PdfReader reader = new PdfReader(inputPdfFile);
      PdfWriter writer = new PdfWriter(outputPdfFile);
      
      PdfDocument pdf = new PdfDocument(reader, writer);
      
      PdfEventDispatcher dispatcher = pdf.getEventDispatcher();
      dispatcher.setNextPageEventHandler(new CustomPdfPrintEventHandler());
      
      pdf.close();
      
      System.out.println("PDF 打印完成!");
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

这只是一个简单示例,实际应用中可能需要根据具体需求进行修改和调整。更多关于 iText7 的信息和使用方法,可以参考腾讯云的 iText7 产品介绍链接:iText7 产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

标签制作软件中如何导出标签模板为PDF文件?

最近小编遇到有些客户问在标签制作软件中设计好的标签模板,能不能导出PDF文件保存,小编的回答是当然可以,而且操作也是非常简单的,接下来小编给大家演示下是如何操作的。...首先在标签制作软件中新建一个标签,设置标签模板纸张大小,行列等信息。例如,纸张40mm*40mm,1行1列。 标签设置完成之后,简单的在标签制作软件中设计一个标签模板。...小编设计的是一个简单的二维码防伪标签模板,设计好之后打开标签制作软件的打印设置,结束页码选择1(输出一个标签模板),选择打印到“PDF文档”,设置好PDF文档的保存位置和名称,还可以选择RGB或者CMYK...然后就可以在保存的路径中找到相关标签模板的PDF文件,打开查看。...以上就是在标签制作软件中把标签模板导出PDF文件的操作过程,如果打开导出的PDF文件发现里面的文字出现乱码的情况,可以在标签制作软件的打印设置中“文字转曲”,再重新输出,这样就可以解决PDF文件中文字乱码的情况

1.7K50

C# 打印PDF文档的10种方法

双面打印PDF文档 6、黑白打印PDF文档 7、打印PDF文档时选择不同的出纸盒 8、将PDF文档打印多份 9、打印PDF一页为多页、打印多页为一页 10、自定义纸张大小打印PDF 工具 Spire.PDF...&& e.CurrentPaper <= 50) { e.CurrentPaperSource = e.PaperSources[0]; } //设置余下页面纸张来源为纸盒...该方法是根据A4纸的标准尺寸595pt*842pt对PDF页面进行拆分,超过该大小页面,打印时其超过部分将会被打印到下一张纸。.../将PDF文档的单张页面根据标准页面大小进行拆分并打印 pdf.PrintSettings.SelectSplitPageLayout(); pdf.Print() 10、自定义纸张大小打印PDF 1...、使用虚拟打印机自定义纸张大小打印:保持原来页面大小打印到PDF //加载需要打印的PDF文档 Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument

2.8K50
  • itext7史上最全实战总结

    前言 最近有个需求需要我用Java手动写一份PDF报告,经过考察几种pdf开源代码,最终选取了itext7,此版本为7.1.11,由于发现网上关于该工具的博文比较少,特别是实战博文几乎没有,在我踩完各种坑...添加目录 我没有找到itext7原生是否有目录添加,根据我自己的需求,我用Table组件来实现了自定义目录,由于我的PDF是用来打印的,所以我并没有给目录添加Link,也就是页面跳转,不过当你彻底理解了我的项目...先说下遇到的困难,目录顾明思意,必须要有内容才会有目录,所以实际上目录是最后添加的,但如果我们添加内容到最后再跳转到前面的页面来添加目录,有三个问题: 目录有几页如何知道?...目录有几页不知道,如何知道内容在第几页?...于是研究读取原pdf在原pdf上修改,二次渲染的时候填上页码及移动页面,主要代码如下,包括了读取中间文件,移动目录,添加每页页码 PdfReader reader = null; PdfWriter writer

    6.8K31

    Java读取打印机自定义纸张.

    添加自定义纸张 分为两种 打印机支持直接自定义纸张设置 打开控制面板, 选择查看设备和打印机, 选中指定打印机, 右键打印机首选项. 在纸张规格后面可以直接添加自定义纸张....这时可以通过选中打印机, 点击菜单栏上方的打印机服务器属性, 创建新纸张规格. 最后记得要点 保存规格....Java读取自定义纸张 通过java直接调用打印机, 弹出来打印机设置窗口, 里面有个选择打印机以及纸张的界面. 既然java自带的对话框里可以读到, 我们可以到他的源码里直接摘抄一下....+ obj); 6 } else if (obj instanceof MediaTray) { 7 System.out.println("纸张来源...如果设置了100*50的纸张, 是读不到的, 因为他默认这个是50*100的横向展示. 若需要打印自定义纸张, 参加另外一篇博客 使用PDFBox打印自定义纸张PDF

    2.4K100

    TCGA转录组分析网站,查询某肿瘤中高表达的基因,顺便做个火山图!还可以分析GSEA+生存期图+ROC!赶紧收藏!

    工具入口: www.chrislifescience.club:3838/R/AnnoE2 ---- 火山图的使用方法: 根据数据来源有两个种模式: 第一种:从TCGA数据中筛选 1.FromTCGAdata...2.Need Annotation和FilterLnc,这个时候已经可以看到结果了。...图片可以直出矢量pdf,不用担心图像因为页面大小变形,输出的pdf是正常的,这样在手机上也可以使用。 下面这个是使用视频教程。 One More Thing..........这时在3的地方不要。 2、出表出图: 1)图中右上角的表格是GSEA的结果,10的位置可以下载。 2) 下面的图是GSEA的结果图,可以在表格中选择想画图的基因集ID。...这里可以多选(最多10个),11的位置下载的是GESA的PDF图像。 3)7的位置准备了三个配色方案可选择 4)在8的位置选择Geneset,c1站长从来没用过,直接去掉。

    1.9K30

    小站工具网站功能总结:查询基因在肿瘤中的表达情况+火山图+GSEA+Survival+ROC+ENSG注释,

    工具入口: www.chrislifescience.club:3838/R/AnnoE2 ---- 1、火山图 根据数据来源有两个种模式: 第一种:从TCGA数据中筛选 1.FromTCGAdata...图片可以直出矢量pdf,不用担心图像因为页面大小变形,输出的pdf是正常的,这样在手机上也可以使用。 下面这个是使用视频教程。...这时在3的地方不要。 2、出表出图: 1)图中右上角的表格是GSEA的结果,10的位置可以下载。 2) 下面的图是GSEA的结果图,可以在表格中选择想画图的基因集ID。...这里可以多选(最多10个),11的位置下载的是GESA的PDF图像。 3)7的位置准备了三个配色方案可选择 4)在8的位置选择Geneset,c1站长从来没用过,直接去掉。...选择c2的时候要等待15秒右下角有进度条。 3、根据AUC与单因素COX结果筛选的生存曲线+ROC图 这里大大的感谢:Daying! 1、数据准备: 1)格式csv。

    52410

    C# iText 7 切分PDF,处理PDF页面大小

    一、itext 我要使用itext做一个pdf页面大小一致性处理,然后再根据数据切分出需要的pdf. iText的官网有关于它的介绍,https://itextpdf.com/ 然后在官网可以查找api...二、处理PDF页面大小一致 由于原始PDF 是扫描图片合成来的,有些页面扫描的图片规格不一致,导致pdf阅读性很差。...对于这个pdf我进行处理,首先是在nuget 里面搜索 itext 进行安装,使用itext7。...var formXObject = page.CopyAsFormXObject(outPDfDoc); 然后对页面进行缩放计算,我们新的PDF默认设置成A3大小,通过计算原始页面和新页面宽高比例进行缩放...处理后的PDF: 三、切分PDF 切分PDF 就比较简单了,直接从原始文件中拷贝页面到新PDF文档中就行了。

    1.2K40

    PDF、Word、PPT、Excel格式转换方法,自己办公会用到的。

    ②:在Excel中对文字信息进行拆分:选中该列,选择【数据】–【分列】,在弹出的选项框中,【分割符号】下【其他】 ,手动输入中文输入法的逗号,点击确定。...表格完好 复制到Excel 【Word复制Excel数据】 Excel数据复制到Woed,常会出现边缘超出纸张范围的情况,有时Excel数据修改了,Word却无法同步更新 ①:【CTRL+C】复制数据...,在Word点击【粘贴】-【选择性粘贴】 ②:【粘贴连接】,点击【Microsoft excel工作表对象】,确定; ③修改Excel数据,Word自动更新 【文字型PDF转Word】 文字型PDF...abcdpdf ②(新版Word软件,2013年版本之后的word 软件已经内置了打开和编辑PDF文件的功能,并且可以将文字型PDF直接转换为Word格式,首先用Word软件打开PDF文档,然后另存Word...,选择图表,鼠标右键手动选择【更新链接】

    2.4K20

    AI文档智能助理都是如何处理pdf的?

    附上几篇之前整理过的pdf相关的AI应用: 如何打造本地知识库——那些与Chat Pdf相关的几款开源热门跑车级应用 pdfGPT——通过AI与上传的PDF文件进行聊天 localGPT——一款100%...地址:https://pdfminersix.readthedocs.io 2. pdfplumber pdfplumber库既可以按页处理 pdf ,也可以获取页面文字以及进行提取表格等操作。...它通过度量和间距准确地呈现文本,以在屏幕上再现印刷页面的外观。查看器小巧、快速,支持众多文档格式,如 PDF、XPS、OpenXPS、CBZ、EPUB 和 FictionBook 2。...3.freemarker[13]:FreeMarker是一款模板引擎,可根据模板渲染内容生成pdf。...•docx2pdf[25] 这段文本介绍了如何使用Microsoft Word直接在Windows或macOS上将docx文件转换为pdf格式。

    86120

    Jmeter系列(21)- 详解 HTTP Request

    HTTP 通信 真正做性能测试强烈建议不 对POST使用multipart/form-data post 请求需要上传文件时 与浏览器兼容的头 当 multipart/form-data...方式进行 HTTP 通信 真正做性能测试强烈建议不 对POST使用multipart/form-data post 请求需要上传文件时 与浏览器兼容的头 当 multipart...当你的参数值为空的时候,可以选择不包含=,默认 如果参数值不为空,则不可以取消 是否要 URL 编码?...当你的参数值为空的时候,可以选择不包含=,默认 如果参数值不为空,则不可以取消 什么是 URL 编码 URL 编码解码,又叫百分号编码,是统一资源定位(URL)的编码方式 URL 地址(常说网址...include equals 的栗子 参数值为空,且 Include equals ? 参数值为空,但不 Include equals ?

    3.1K20

    小站工具2.0|单基因生存期曲线图+ROC,重点是根据批量生成的单因素COX与AUC结果筛选~回复:SUV,可获得测试文件!

    站长开了赞赏通道,网站来源的赞赏,都用于升级服务器使用。 升级了也能为大家更好的服务。 在这里谢谢大家了~ ps这几个功能写完TCGA的课程可以更新了, 如何配合网站工具去做TCGA转录组分析呢?...在3的地方。下面的456就不要改动了。 3)如果是芯片数据,或者自己DIY的数据,数据中至少应该包括:倍数列,p值列,基因名列。分别在图中4、5、6填入。注意!这时在3的地方不要。...之前站长精选配色依然可以选择,如果想自己DIY,请选择YouLike,然后在调色板颜色,火山图会实时更新。 2.升级指示基因功能。可以实现单选多选,并与表格交互。你想哪个基因,在右边表格点一下。...图片可以直出矢量pdf,不用担心图像因为页面大小变形,输出的pdf是正常的,这样在手机上也可以使用。 下面这个是使用视频教程。 One More Thing..........配合AnnoE的功能,可以实现提取LncRNA后做火山图,具体操作看下面: 1.2更新内容: 如果想某个基因,在2的位置,在1的位置填写准确填写基因SYMBOL(如果不知道准确信息,可以到Geneinfo

    66820

    打印机设置(PrintDialog)、页面设置(PageSetupDialog) 及 RDLC报表如何选择指定打印机

    ,手动选择打印机(还有可能需要设置纸张类型),这样用起来会比较烦。...可以看到,打印机设置界面里,已经包含了关于纸张尺寸、纸张布局(纵向、横向)的设置,所以在我看来,系统没有必要再单独提供"页面设置(PageSetupDialog)" 二、页面设置(PageSetupDialog...这里有一个坑爹的地方,不管你如何选择Pager Size,最后返回的PageSettings里,PageSize 始终是A4纸的大小(如下图),这也是我强烈推荐大家尽量避免使用PageSettings的理由...,在页面设置对话框里,不管什么纸张Size, //对话框关闭时,返回值的PageSize里,始终就是这个大小,不会随用户选择而改变...、纸张大小后,最后可以将PageSettings以及PrinterSettings中的关键信息,持久化存储起来(比如:用xml或DB),下次再进入该业务界面时,根据存储的配置信息还原相关的设置,这样用户只要设置一次

    3.3K70

    惠普p1106打印测试页_惠普p1566打印机说明书

    纸张设置界面 惠普P1566的纸张设置界面,可设置纸张大小、类型,以及自动进纸盒或进纸槽的纸张来源选择。其中打印质量分为600dpi、FastRes1200,以及经济模式。...其他设置界面 N合一打印效果样张(N=1、2、4、6、9、16) 完成设置界面可以对手动双面打印、手动小册子打印、N合一打印、水印打印,以及更为详细的翻页方式、页面排列顺序、纸张方向进行设置。...便于节省纸张耗材,以及个性打印的基本需求。...我们测试过程包括办公常用的Word、Excel、PPT表格、PDF等格式的文档的连续输出,来看看它的速度表现如何。...惠普P1566黑白激光打印机 打印速度测试 (分:秒) 测试项目 首页用时 全部用时 PDF 单页图文 - 0:07.24 PDF 8页文档 0:07.56 0:26.34 Excel 3页图表 0:08.34

    81120

    免费的可视化Web报表工具,JimuReport v1.5.0版本发布

    导出功能,移除了itext7(解决AGPL开源协议问题); 重点功能 修复fastjson漏洞 重构pdf导出 Issues处理 报表导出时,出现错误,去掉样式#I52O77 查询条件下拉单选的占位文本描述显示不正确...导出数据,不支持对表格列引号过滤#I53V5G 特殊字符json反序列化报错#928 excel导出报表fastjson报错#931 1.5.0-beta 版本|紧急|数值格式转问题|导出#938 多条字典记录后点击删除...体验官网: http://jimureport.com 快速集成文档 :http://report.jeecg.com/2078875 技术文档: http://report.jeecg.com 为什么选择...│ ├─支持单数据源和多数数据源设置 │ │ ├─支持Nosql数据源Redis,MongoDB │ │ ├─支持存储过程 │ ├─单元格格式 │ │ ├─边框 │ │ ├─字体大小...│ │ └─平均值 │ │ └─最大值 │ │ └─最小值 │ ├─背景 │ │ ├─背景颜色设置 │ │ ├─背景图片设置 │ │ ├─背景透明度设置 │ │ ├─背景大小设置

    59740

    PDF矢量输出!最重要!免费!

    之前站长精选配色依然可以选择,如果想自己DIY,请选择YouLike,然后在调色板颜色,火山图会实时更新。 2.升级指示基因功能。可以实现单选多选,并与表格交互。你想哪个基因,在右边表格点一下。...图片可以直出矢量pdf,不用担心图像因为页面大小变形,输出的pdf是正常的,这样在手机上也可以使用。 下面这个是使用视频教程。 One More Thing..........配合AnnoE的功能,可以实现提取LncRNA后做火山图,具体操作看下面: 1.2更新内容: 如果想某个基因,在2的位置,在1的位置填写准确填写基因SYMBOL(如果不知道准确信息,可以到Geneinfo...中去查询) 3的位置是下载火山图pdf的位置,图生成完点击就好!...如果是ENSG开头的,还是要输入准确的~ 2、基因注释ENSG to gene name,这个来源可是TCGA,Xena,还有自己的测序结果。

    40810

    如何精准地用打印机在贺卡或邀请函上打字

    那么如何打印以便让所有文字的内容都对应到贺卡或邀请函的正确空位上,还是有些难度的。 本文将教你如何在毫米级别将文字精准地打印到贺卡或邀请函上。...▲ 放入打印机 第二步:制作 Word 文档 在 Microsoft Word 中新建一个文档,需要进行一些设置: 纸张大小:A4 纸张方向:横向 文档边距:0(注意这里的上下左右四个方向都要设置为 0...) 为了能够更精准地控制打印文字地位置,我们还需要在 Word 中做一些标尺设置: 文件 → 选项 → 高级 标尺单位设为“厘米” 取消“使用字符单位” (重要!...不然“厘米”单位依然不会生效的) 视图 标尺 接下来,我们就不会再在 Word 文档中直接打字了,而是全部使用文本框。 使用标尺,我们可以大致估算出邀请函占用下面这么多的空间: ?...现在,我们要么调整文档方向,要么调整打印机纸张方向。为了之后对齐文字的直观,我们当然应该选择调整打印机的纸张方向。 于是,请重新将刚刚的打印纸放回打印机,但是我们预期的邀请函的方向就变化了: ?

    11.4K10

    专业的CopyTranslator.

    翻译结果框出现的位置和大小,时间不固定,有时候会遮挡到原文或者其他的地方,给翻译校对带来不便,此外点选别的地方可能会导致结果框的消失。...此类软件常有广告弹窗 那么CopyTranslator是如何解决这些问题呢 当listen clipboard后,复译会自动翻译剪贴板的内容,并显示译文在结果框中。...只需同时listen clipboard及Auto copy选项,每次复制翻译后,剪贴板会自动替换原文为译文,直接黏贴即可获得译文。...翻译结果框(专注模式)大小可以自由缩放,并可根据需要选择始终保持在顶部。...以上是它的来源.很棒的作品,有痛点,有产品,建议去捐赠一波 https://copytranslator.github.io/guide/9.0.0.html#%E5%BF%AB%E9%80%9F%E4%

    94320

    条码打印软件如何将excel表导入使用

    一个一个的制作比较麻烦,我们可以把我们想要的信息保存到txt文本或者excel表中,然后把excel表(txt文本)导入到条码软件中,可以进行批量制作,这样很大程度上节省了时间,提升了我们的工作效率,那么excel表该如何导入到条码打印软件中呢...接下来我们一起看下具体的操作步骤: 1.打开条码打印软件,设置一下纸张和标签的尺寸。...2.点击软件上方工具栏中的”数据库按钮”,弹出数据库设置对话框,点击添加(选择要导入的数据库类型excel表) 根据提示点击”浏览”,打开文件保存的路径,选择要导入的excel表,点击打开-测试链接-...3.点击软件左侧的”实心A”按钮,在画布上绘制一个普通文本对象,双击普通文本,在图形属性-数据源中,点击”修改”按钮,数据对象类型选择”数据库导入”,在字段中选择相应的字段,会出现对应的内容,然后点击编辑...值得注意的是,导入Excel表的时候,如果Excel表中首行有列名称,导入的时候记得首行含列名前面的复选框,反之,则不用

    1.5K10

    目录内文件名导出到Excel文件

    最重要的是即即现,您还可以自定义列的顺序。...三、美化及导出PDF (一)表格列表美化 使用Word打开网页文件 ? 打开后选择整个表格 点击表格左上角的符号,选择整个表格,然后进行调整。 1、设置文字大小和表格居中 ?...设置表格文字大小和居中显示 2、删除不需要的表格行 根据情况,鼠标右击需删除的行,选择“删除行”即可。 ? 删除行 3、设置行高和对齐方式 ?...设置行高和对齐方式 (二)页面美化 主要是在“插入”菜单中设置封面、页眉页脚,在“页面布局”中设置纸张方向、页边距、分栏显示,在“设计”菜单中添加水印、设置页面背景等。 ?...设置页面效果 (三)导出 点击“文件”菜单中的“导出”,可以直接创建PDF ? 创建PDF 四、PDF展示 PDF-XChange Editor(自己下载) ?

    5.7K30
    领券