使用freemarker和itext生成PDF时,因页面高度限制不够显示一行而出现的空行问题。

如图:箭头所指的空行
代码如下:

// 新建A4文档,左右上下间距为:50, 50, 60, 80
document = new Document(PageSize.A4, 50, 50, 60, 80);
// 新建需要保存的文件
fileName = UUID.randomUUID().toString() + ".pdf";
File file = new File(reportConfig.getSavePath() + fileName);
fos = new FileOutputStream(file);
// 根据文档和输出流获取writer
PdfWriter writer = PdfWriter.getInstance(document, fos);

// 然后将ftl转换成HTML
 Template template = freemarkerConfig.getConfiguration().getTemplate(ftl);
 String result = FreeMarkerTemplateUtils.processTemplateIntoString(template, map);

// 然后生成PDF
worker.parseXHtml(writer, document, new ByteArrayInputStream(
                        drawCompanyReportPdf), XMLWorkerHelper.class
                        .getResourceAsStream("/default.css"), Charset.forName("utf-8"), new AsianFontProvider());

请问下大家,这个空行怎么做才能去掉呢?

2个回答

解决了,是ftl样式的问题,在表格里给文字包了一层div并设置了padding,而itext在生成PDF时没有将div中的padding计算在内。解决方法:将div中的padding去掉,在td标签上加padding。

请问生成pdf不是用的ITextRenderer?我现在是想又能控制页面的大小,又需要用freemarker,不知道怎么解决。可以分享下你的代码吗?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
pdf生成之itext使用
iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。   iText的安装非常方便,在http://www.lowagie.com/iText/download.html - download 网站上下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了。
生成xml文件,因过大而出现的问题
我从数据库中导出数据到xml,用的是ixmldocument对象,因为有的表字段存在blob大文件对象,所以在导出过程中,程序占用的内存没多久就飞升到60多M,此时xml文件应该还没有写入磁盘文件中,而程序已经失去响应。求解决方法。
itext生成pdf问题
我通过word设置文本等其他页面内容,然后通过adobe pdf printer转为pdf,在pdf中再画表单域。请问使用adobe acrobat7.0制作表单域时,字体怎样设置才能在使用itext调用时与所设置的STSong-Light,UniGB-UCS2-H也即简体中文相吻合,出来数据?为什么我使用acrobat7.0时找不到对应的stsong-light字体?我设置成别的字体,数据根本不出来。上火啊!
iText生成的pdf的问题
本人想通过点击“打印”按钮。生成并显示pdf文档。rn现在问题是 在C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ch08\printTmp\上生成了PDF文件.浏览器地址跳转到了http://localhost:8080/ch08/printTmp/allcustomer.PDF.rn可它出现404错误:The requested resource (/ch08/printTmp/allcustomer.PDF) is not available.rn不知道如何解决,希望哪位高手帮解决下.谢谢!!rn
IText 生成PDF的问题
作了一个IText 生成PDF 的demo,有以下问题想请教下rnrnrn1、itextsharp 本身的健壮性,使用是否存在问题;rn2、是否要pdf文件本身格式固定,用户的需求是多种PDF文件都生成在页眉显示;rn3、如果客户端要在ie里显示打开pdf文件,是否要求必须按照pdf的阅读器;rn4、如果文件较大是否可能会有超时?rn5、如果多个客户端访问一个文件,是否有并发的问题,如A用户根据传入参数想显示带A001的字符,同时B用户也访问,传入B001的字符,A用户是否会显示成B001的PDF文件?rnrn附件中附代码 vs2003 的解决方案rnhttp://www.cnblogs.com/Files/jchdong/pdf.ziprnrn关键代码如:rnrnprotected byte[] CreateImages(string code)rnrnBitmap image = new Bitmap(200, 50);rnGraphics g = Graphics.FromImage(image);rng.Clear(System.Drawing.Color.White);rnrnSystem.Drawing.Font font = new System.Drawing.Font("Arial", 25, FontStyle.Bold | FontStyle.Italic);rnrnSystem.Drawing.Brush brush = new System.Drawing.SolidBrush(System.Drawing.Color.Blue);rnrn//System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(rn//new System.Drawing.Rectangle(0, 0, image.Width, image.Height), System.Drawing.Color.Blue, System.Drawing.Color.Blue, 1f, true);rnrng.DrawString(code, font, brush, 0, 0);rnrnSystem.IO.MemoryStream ms = new System.IO.MemoryStream();rnimage.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);rng.Dispose();rnimage.Dispose();rnreturn ms.ToArray();rnrn rnrnprivate void Button1_Click(object sender, System.EventArgs e)rnrnPdfReader reader = new PdfReader(@"D:\ITurbo\cecerp\IE\pdf\TestWatermark.pdf");rnrnint n = reader.NumberOfPages;rnrniTextSharp.text.Rectangle psize = reader.GetPageSize(1);rnfloat width = psize.Width - 200;rnfloat height = psize.Height - 50;rnrnFileStream fs = new FileStream(@"D:\ITurbo\cecerp\IE\pdf\Test1Watermark.pdf", FileMode.Create);rnPdfStamper stamp = new PdfStamper(reader, fs);rnrnint i = 0;rnPdfContentByte under;rnrniTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(CreateImages("Test"));rnimg.SetAbsolutePosition(0, 0);rnwhile (i < n)rnrni++;rnunder = stamp.GetUnderContent(i);rnPdfTemplate template = under.CreateTemplate(200, 50);rntemplate.AddImage(img,false);rnunder.AddTemplate(template, width, height); rnrnrnstamp.Close();rnrnResponse.Redirect("Test1Watermark.pdf",false);rnrn
Java使用Freemarker和iText生成带有图片的PDF文件
需要在pdf中添加图片,前后端都需要配置代码 后端代码:修改内容字体以及显示的地方已经标注 OutputStream out=null; ByteArrayInputStream byteArrayInputStream=null; try{ out = new FileOutputStream(PdfFactory.tempPath
itext生成pdf时的图片大小问题
请教:使用itext生成pdf文档时,怎样控制插入图片的大小,并能将图片放在文字上,即达到盖公章的效果,谢谢
使用itext生成PDF文件
package com.text.exportpdf; import java.io.*; import java.lang.reflect.*; import java.util.*; import java.io.*; import java.lang.reflect.*; import java.util.*; import com.lowagie.text.*; i...
使用iText生成pdf文件
本文主要介绍如何使用iText通过java代码生成pdf文档,以及如何输出包含中文的pdf文档。
itext 生成的PDF显示特殊字符问题
如何用iText生成可以同时显示℃和μ的PDF,我所找到的字库都不行,你们是如何解决显示这种特殊字符的?n[b]问题补充:[/b]n我应用的server是英文的win2003,但是我写程序的机器是中文版的winxp.rn是不是因为这个原因导致的问题呢?n[b]问题补充:[/b]n已经解决,但是还没有测试用英文版的win2003编译后是否可以完全解决问题
itext生成pdf显示特殊字符问题
用itext生成pdf时,字段包含特殊字符(像ø,ß这些latin字符)在英文下显示没有问题,中文下显示不出来,只显示个空格rnrn//英文下字体rnFont fontContent = new Font(Font.HELVETICA, 11, Font.NORMAL, new Color(85, 85, 85));rn//中文下字体rnBaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);rnFont FontChinese = new Font(bfChinese, 10, Font.NORMAL);rnrnPdfPCell title = new PdfPCell(new Phrase(product.getName(locale), FontChinese));rnrn中文下使用的编码"UniGB-UCS2-H"来自于itext提供的亚洲语言包iTextAsian.jar,本人只知道是因为这种编码方式引起的,但是要想显示中文又必须使用这种编码方式,不知道如何解决了,等待高手回答。rn
IText生成Pdf使用求助
需要要求使用iText生成Pdf文件,内容为一个表格,要在每页的页尾生成当前页中表格其中1列的总数小计。rn现在问题是,表格的生成是采用iText的PdfPTable类,采用document.add(table)整体生成;在生成页尾的时候,无法获取表格已经到了第几行,也就无法对当前页进行小计。rn请教各位,有什么好的解决方法?
java使用itext生成PDF
1.导入itext的相关jar包及中文字体文件                   相关链接:链接:https://pan.baidu.com/s/1-Em8tOJnIHU3jguRp9tLpw 密码:xf2y   2.代码实现      package com.util.pdf; import java.awt.Color; import java.io.File; impor...
java使用itext生成pdf
        这里使用自己实践过的java来实现生成pdf,参考了很多资料,文章后面有列出来: 开始之前需要引入包: &amp;lt;!-- com.itextpdf » itextpdf https://mvnrepository.com/artifact/com.itextpdf/itextpdf --&amp;gt; &amp;lt;dependency&amp;gt; ...
使用iText 7 生成pdf
NULL 博文链接:https://lewjun.iteye.com/blog/2432331
使用iText JAR生成PDF
import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.Date; import com.lowagie.text.Document; import com.lowagie.text.Paragraph; import com.lowagie.text.p
itext生成pdf时把内容横向显示(注意是内容而仅仅是页面)
现在我想实现这样一个效果,想在生成pdf的时候把页面跟内容都横向显示,rnDocument document = new Document(PageSize.A4.rotate());这个仅仅能实现A4纸页面横向显示,关于内容横向则没有思路,普通的生成pdf之后可以用“crrl+shift和+”来控制pdf反转,这个只是生成之后的,我想看有没有办法可以在生成之前处理,如下图显示的效果[img=https://img-bbs.csdn.net/upload/201312/04/1386144696_945714.png][/img]
freemarker通过ITextRenderer生成pdf,显示问题
在用freemarker转html没有问题,页面正常rn[img=https://img-bbs.csdn.net/upload/201611/02/1478057042_488908.png][/img]rn,但是html转成pdf后,显示出现问题,空格不显示,并且字母显示不均匀rn[img=https://img-bbs.csdn.net/upload/201611/02/1478057066_562706.png][/img]rn现在不知道怎么解决。。。
使用freemarker模板生成pdf
使用freemarker编写html模板
ASP页面出现空行的问题
网站使用编码是UTF8 65001的编码方式,除开头部空行外页面内部所有的有ASP代码执行的地方都要出现空行,这个问题好怪异。请教一下各位是什么原因呢?rn类似空行如下:rn rn rn rn rn rn rn rn rn rn但是我检查过原代码,并没有留空行的现象啊?为什么执行后就会出现呢?
iText生成PDF的问题求教
使用iText生成PDF文档,设置了文档的header和footer,rn但问题是,现在只想让header和footer显示一次,rn即:在文档的第一页开头显示header和在文档的最后一页显示footer,rn而中间无论有多少页都不显示header和footer,rn请问有什么好的方法吗?rnrn看了提供的方法以及网上找了下,好像都没有样,郁闷。。。。
iText生成PDF,显示中文问题
问题: 为什么执行到BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);此句就直接例外了呢?rn Document document = new Document(PageSize.A4, 5, 5, 5, 5);rnrn try rnrnrn PdfWriter.getInstance(document, new FileOutputStream(pathrn + filename));rn document.open();rnrn [color=#FF0000]BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);[/color]rnrn Font titleFont = new Font(bfChinese, 10, Font.NORMAL, Color.GREEN);rnrn document.add(new Paragraph("tt", titleFont));rn document.close();rnrn catch (Exception e) rnrn
用itext生成的pdf的问题
我要做报表蛮复杂的!我现在页面上画好!rn然后将整个页面导到pdf!这样行的通吗?rn能否给点帮助
iText 生成PDF 报错的问题
代码大致如下:rnrn FileOutputStream fileOutputStream = null;rn PdfWriter write = null;rn try rn fileOutputStream = new FileOutputStream(outputFilePath);rn Document document = new Document(PageSize.A4, 50, 50, 50, 50);rn write = PdfWriter.getInstance(document, fileOutputStream);rn write.open();rn Paragraph p1 = new Paragraph();rn p1.add(contentBuffer.toString());rn document.add(p1);rn catch (IOException e) rn e.printStackTrace();rn catch (DocumentException e) rn e.printStackTrace();rn rnrn结果报了个错:com.itextpdf.text.DocumentException: The document is not open yet; you can only add Meta information.rnrn我调试的时候发现 document的isOpen方法返回 false
itext 生成PDF的简单问题
1. 如何设置黑体,我用setStlye好像不起作用。rn2.可不可以不显示table的表格线rn3.我所作的报表主要是表格,但是,在表格的顶部和底部(表格之外)还要有其他信息如:打印时间,承担者等。需要贴近表格。不知道有什么解决办法。
itext生成pdf报表问题
我用itext做了一个报表(servlet直接流输出到客户端),在xp里运行服务器,ok。rn但放到windows 2003 server 里就出不来了,各位大侠,这是什么原因啊?
关于itext生成PDF的问题
弄了两天的itext生成PDF终于入了门,但是还有俩问题一直没找到解决方案,我用的itext版本是5.0.5rn1. 如何划一条直线,我现在能画线,但是画了之后就会影响布局rn2. 如何调整上下宽度,比如我有个表格。如何调整这个表格和外面内容的间距?rnrn下面这个是问题一所想得到的效果rnrn testrn___________________________________
itext 生成pdf文档
用itext生成pdf文档,生成的内容有表格形式,文本形式,设置字体样式,文档页边距。
IText生成PDF
iText是一個開放源碼的Java類庫,可以用來方便地生成PDF檔案。大家透過訪問http://sourceforge.net/project/showfiles.php?group_id= release_id=6798下載最新版本的類庫,下載完成之後會得到一個.jar包,把這個包加入JDK的classpath即可使用。
itext生成pdf目录
用itext方法生成 与Word一样的目录
IText pdf的生成
初学IText pdf的生成,做了几个小例子,希望和大家交流。我的空间是 http://hi.csdn.net/kw244137305
itext的PDF生成方案
方法二对应的源码下载: 博文链接:https://swordshadow.iteye.com/blog/1983935
itext生成pdf文件下载
功能说明:要实现一个功能,用户在web页面点击下载请求,服务端根据客户请求查取数据库数据,渲染模板生成相应pdf文件,输出pdf文件响应客户下载请求。即动态生成pdf响应客户下载请求。 利用itext包生成pdf请求,代码如下: 引入itext包 [code=&quot;java&quot;] com.itextpdf itextpdf 5.5.0 [/code] ...
itext 生成pdf 文件
利用itext 生成pdf 文件,可以自定义生成的格式,字体的大小,颜色
iText生成pdf中文字体
用iText生成pdf时,内容有中文的时候用到中文字体。 直接使用iTextAsian.jar中的字体 BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); 或者使用系统字体文件 BaseFont.createFont("C:/WINDOWS/Fonts/s...
Itext生成PDF文件
最近做一个项目的报表,设计导出问题,要求pdf、excel、word。说实话一个字,烦。写个备忘录吧。。。虽然还是很烦 所需依赖:itext-asian-5.2.0.jar(亚洲字体),itextpdf-5.5.7.jar iText 是一个可从这里免费获取的 Java 库。iText 库非常强大,且支持生成 HTML、RTF 和 XML 文档,还支持生成 PDF 文档。您可以选择各种各样
itext生成pdf代码实现
itext生成pdf 根据上边文章提到: (1)引入jar包: itext-asian-5.2.0.jar itextpdf-5.3.2.jar xmlworker-1.2.1-micmiu.jar (2)代码实现 import java.io.File; import java.io.FileInputStream; import java.io.Fi
(2)iText生成PDF
利用iText编写并生成PDF文件,可以写入段落、章节、定位符(链接)、列表、图片。 iText的UML图如下: import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException;import com.itextpdf.text.Anchor; import com
itext生成pdf文档
包:             com.itextpdf.iText.core-renderer             core-renderer             1.0                                      com.itextpdf.iText.iText             iText              2.0.
iText生成PDF功能
使用iText导出pdf功能,解决Font 'STSongStd-Light' with 'UniGB-UCS2-H' is not recognized.报错
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法