标签:c pdf net-4-0 itextsharp
我正在尝试使用iTextSharp 5.0.6在c#中创建一个pdf文档.我想分别为OnStartPage和OnEndPage事件中的每个页面添加页眉和页脚.
在页脚的情况下,存在页面结束时创建页脚的问题,而我希望位于页面底部.
在iTextSharp中是否有一种方法可以指定页面高度,以便始终在底部创建页脚.
谢谢!
解决方法:
页面的高度始终定义为:
document.PageSize.Height // document.getPageSize().getHeight() in Java
请记住,在PDF 0,0是左下角,当你向右和向上时坐标会增加.
在PdfPageEvent中,您需要使用绝对坐标.听起来你要么从文档中获取当前的Y,要么在当前位置获取Just Drawing Stuff.不要那样做.
此外,如果要在每个页面上使用相同的页脚,可以将所有内容绘制到PdfTemplate中,然后将该模板绘制到您想要的各个页面中.
PdfTemplate footerTmpl = writer.getDirectContent().createTemplate( 0, 0, pageWidth, footerHeight );
footerTmpl.setFontAndSize( someFont, someSize );
footerTmpl.setTextMatrix( x, y );
footer.showText("blah");
// etc
然后在你的PdfPageEvent中,你可以在页面底部添加footerTempl:
writer.getDirectContent().addTemplateSimple( footerTmpl, 0, 0 );
即使您的大多数页脚都相同,您也可以使用此技术来节省内存,执行时间和文件大小.
此外,如果您不想直接使用PdfContentByte绘图命令,可以通过ColumnText在某种程度上避免它们.有一些标有iText或iTextSharp的SO问题处理该类.捅了一下,你会发现它们.
标签:c,pdf,net-4-0,itextsharp 来源: https://codeday.me/bug/20190626/1296873.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。