我需要帮助。我花了最后4个小时试图获得我的PDF文件的总页数。我希望在页脚中有“Page X/Y”之类的内容。有人可以告诉我该怎么做这个代码?如何获取PDF文件的总页数 - iTextSharp,c#

public class pdfPage : PdfPageEventHelper

{

public override void OnEndPage(PdfWriter writer, Document doc)

{

iTextSharp.text.Rectangle page = doc.PageSize;

//PdfPTable EndTable = new PdfPTable(2);

PdfPTable EndTable = new PdfPTable(2);

EndTable.DefaultCell.Padding = 2f;

EndTable.HorizontalAlignment = Element.ALIGN_JUSTIFIED;

iTextSharp.text.Font smallfont2 = FontFactory.GetFont(FontFactory.HELVETICA, "CP1250", 10);

PdfPCell stopka1 = new PdfPCell(new Phrase("Left column - not important", smallfont2));

stopka1.BorderWidthLeft = 0;

stopka1.BorderWidthBottom = 0;

stopka1.BorderWidthRight = 0;

stopka1.HorizontalAlignment = Element.ALIGN_LEFT;

stopka1.VerticalAlignment = Element.ALIGN_MIDDLE;

PdfPCell stopka2 = new PdfPCell(new Phrase("Page " + doc.PageNumber + "/", smallfont2));

stopka2.BorderWidthLeft = 0;

stopka2.BorderWidthBottom = 0;

stopka2.BorderWidthRight = 0;

stopka2.HorizontalAlignment = Element.ALIGN_RIGHT;

stopka2.VerticalAlignment = Element.ALIGN_MIDDLE;

EndTable.AddCell(stopka1);

EndTable.AddCell(stopka2);

EndTable.TotalWidth = page.Width - doc.LeftMargin - doc.RightMargin;

EndTable.WriteSelectedRows(0, -1, doc.LeftMargin, EndTable.TotalHeight + doc.BottomMargin - 45, writer.DirectContent);

}

}

编辑

好吧,我整理出来。我只是关闭了我正在处理的PDF文件,然后将其作为临时文件复制。然后在“OnEndPage”方法中,我计算了这个临时文档中的页面。后来,我打开了一个新文档,从这个临时文件中复制了所有内容,创建了pdfPage类的一个对象,并将它连接到了writer2.PageEvent。现在它工作:)

+1

你给我们你的代码(这很好)。但是你没有解释你的代码在什么意义上失败了(不太好)。请详细说明您的现有代码如何失败。 –

+0

我不知道现在该做什么。我不知道如何得到这个“我的PDF文件的总页数”,并把它放在这里 - PdfPCell stopka2 = new PdfPCell(new Phrase(“Page”+ doc.PageNumber +“/”,smallfont2)); –

java 获取pdf总页数_如何获取PDF文件的总页数 - iTextSharp,c#相关推荐

  1. 中批注转成pdf看不到_超实用的PDF在线转换器,你绝对用的到~

    PDF 是我们工作中常用的文档形式,有时候需要对它进行转换或者编辑等工作. 给大家分享一款界面简洁,操作简单的一站式 PDF 工具:LightPDF.LightPDF 是一款线上 PDF 转换器与编辑 ...

  2. 统计代码行数_推荐一波代码量、行数、提交量、作者等全维度统计神器

    背景 代码各种维度的统计在有些时候是很重要的,这里总结一些常用的牛逼的代码统计工具,着重介绍了个人使用的 Statistic 插件.但是如果你是想统计团队维度的数据,推荐后面介绍的 git_stats ...

  3. chrome 切换标签页快捷键_如何在Chrome浏览器中切换标签页

     在 Windows 和 Linux 电脑中,你还可以考虑使用 Ctrl + PgDwn .  在 Mac 电脑中,你也可以使用 command + option + .此外还需注意, Mac 键 ...

  4. 1000以内的回文数_从回文诗到回文数

    回文诗,顾名思义,就是能够回还往复,正读倒读皆成章句的诗篇.回文诗是我国古典诗歌中一种较为独特的体裁.明末浙江才女吴绛雪作<四时山水诗>很奇物,诗云:其实英文里也有回文.Radar 雷达R ...

  5. 内存映射获取行数_使用内存映射文件获取巨大的矩阵

    内存映射获取行数 总览 矩阵可能真的很大,有时甚至比您可以容纳在一个数组中的要大. 您可以通过具有多个数组来扩展最大大小,但这会使堆大小确实很大且效率低下. 一种替代方法是在内存映射文件上使用包装器. ...

  6. shell获取hive查询数据结果_在shell中判断hive查询记录数大小

    用途: 根据查询到结果数量来判断,是否需要再执行下个脚本. 1. 查询语句script.q脚本如下: select count(1) as count from test; 2. shell脚本如下: ...

  7. java写的酷炫项目_基于RxJava实现酷炫启动页

    前言 RxJava 在 GitHub 主页上的自我介绍是 "a library for composing asynchronous and event-based programs usi ...

  8. Java电子书平滑翻页效果_(转载)Android 平滑和立体翻页效果1

    Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述 Android 的动画框架是如何实现的.任何一个框架都有其优势和局限性,只有明白了其实现原理,开发 ...

  9. 永中word页码怎么从第二页开始_永中PDF产品升级!Now注册即享VIP~

    在现今生活中,体积小.易于传输.方便阅读的PDF受到许多人的欢迎,分享下载多以PDF的格式,想要复制采集.编辑应用PDF里的数据内容就相对费事许多,不经历一番文档转换基本无法对PDF进一步有效使用.P ...

最新文章

  1. ThinkPHP 分页实现
  2. 经典 HTML5 Javascript 俄罗斯方块游戏
  3. SecureCRT护眼设置
  4. onloadsuccess: function获取不到表格数据_R语言输格式技巧系列(二),再精细一点,定制包含亚组的表格...
  5. 牛客 2021年度训练联盟热身训练赛第二场 I题Pegasus Circle Shortcut
  6. Windows核心编程_静态编译和动态编译的区别
  7. 关于Scrapy爬虫项目运行和调试的小技巧(上篇)
  8. webstorm激活破解方法大全
  9. 田申:《个人信息安全规范》的理解与初探
  10. 如何给老年唱戏机下载有声小说
  11. windows常用指令大全
  12. 网页链接分享到微信朋友圈带图标和摘要的完美解决方法
  13. 最长对称子串 作者 陈越单位 浙江大学
  14. 关心国事-周鸿祎离开雅虎真相 自称土鳖更喜欢创业
  15. paddlenlp调用ERNIE、使用ERNIEKIT
  16. Conflux Studio 详解
  17. 【贪心算法】活动安排问题
  18. 用 Python 进行 Curses 编程
  19. ThingsBoard-警报
  20. 项目服务器费用如何分摊合理,企业开发有多个项目发生的管理费用如何分摊

热门文章

  1. 在多label 的代码里面添加augmentation功能遇到的问题
  2. torch 安装的问题
  3. 关于浙大考研878历年试卷的说明
  4. 什么时候会用到拷贝构造函数?
  5. 支持windows 8的虚拟机软件
  6. css hack *html,HTML_CSS Hack整理,CSS Hack是在标准CSS没办法兼容 - phpStudy
  7. matlab 绘花,【原创】使用matlab绘制菊花和玫瑰花
  8. 频率计的交流耦合和直流耦合的区别_直流电源与交流电源是什么?直流与交流之间的区别公司新闻...
  9. php在登录页面使用ajax,使用Ajax安全的登录界面
  10. java去除以张开头的人名_java正则表达式去除html中所有的标签和特殊HTML字符(以开头的)...