`
li2005
  • 浏览: 38595 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

xhtmlrenderer在linux下无法使用

阅读更多
  最近做了一个项目要生成pdf文件,用的是xhtmlrenderer+itext2.1.7,开发环境用的是windows xp + eclipse,开发好了后,自己在windows上测试没有一点问题,但进入系统测试后(用的linux),始终不能生成pdf文件,而且到处都没有throw exception,最后用remote debug连到服务器来测试程序,发现初始化xhtmlrenderer时下面一句代码不能正确执行
GraphicsEnvironment gfx = GraphicsEnvironment.getLocalGraphicsEnvironment();

  然后上网查资料,终于查到了
  由于Linux环境下图形处理都需要X Server服务,如果Linux上没有安装图形模块,则没有X Server服务;另外一方面,即使有X Server服务,在Linux系统内存不够的时候,也会出现此错误。
  解决方法就是在启动服务时加上这句参数 -Djava.awt.headless=true 就行了
分享到:
评论
4 楼 hj01kkk 2013-09-08  
这个问题已经解决了,是我设置的linux目录不对,谢谢!
3 楼 li2005 2013-08-29  
hj01kkk 写道
我用的这个要将freemaker的模板转成pdf,里面包含许多图片,表格,文字等.可是当程序走到renderer.layout();这一行时,在我的机器上测的都没有问题(win+jdk1.6+tomcat7),可发布到服务器上这一行就不动了,要等好几分钟才会运行下去.可生成的pdf里图片没有包含进来,图片是已经有了的.服务器是(linux+jdk1.6+tomcat7),你遇到过这种情况吗?知道该如何解决呀?

你好,图片是可以的。
首先要得到你freemarker里图片的目录,比如,我是用servlet生成PDF,就是用下面方法得到web的目录
this.getServletContext().getRealPath("/");
File file = new File(rpath);
        URL resourceURL = file.toURL();
//this will get the projects path in server
        String baseUri = resourceURL.toExternalForm();

然后再设进xthmlrenderer里面
//set url for pdf resource , like image
        renderer.getSharedContext().setBaseURL(baseUri); 

2 楼 hj01kkk 2013-08-14  
我用的这个要将freemaker的模板转成pdf,里面包含许多图片,表格,文字等.可是当程序走到renderer.layout();这一行时,在我的机器上测的都没有问题(win+jdk1.6+tomcat7),可发布到服务器上这一行就不动了,要等好几分钟才会运行下去.可生成的pdf里图片没有包含进来,图片是已经有了的.服务器是(linux+jdk1.6+tomcat7),你遇到过这种情况吗?知道该如何解决呀?
1 楼 hj01kkk 2013-08-14  
我的这里面也不行啊.

相关推荐

    Java把html生成pdf (xhtmlrenderer)

    使用xhtmlrenderer(Flying Saucer)将HTML转换为PDF的步骤大致如下: 1. **引入依赖**:在项目中添加Flying Saucer和iText的依赖。如果是Maven项目,可以在pom.xml中添加对应的依赖项。 2. **创建ITextRenderer...

    html转换成图片 icepdf xhtmlrenderer

    实现把html转换成图片,解决了转换中的图片、表格、中文问题,原则是先转换成pdf,然后转换成图片,需要下载icepdf开源包,附件中包括程序和转换pdf所需jar包 html 图片 pdf icepdf xhtmlrenderer

    修改 flying sauser(xhtmlrenderer) 源代码,中文无障碍显示

    由于中文字符集非常庞大,并且在字体处理上与英文存在较大差异,因此在使用XHTML渲染器将网页内容转换为PDF时,中文显示往往会出现问题,如乱码、显示不完整等。为了让中文在生成的PDF中无障碍显示,需要对源代码...

    java 使用ITextRenderer将html模块生成pdf文件工具类

    在这个场景下,ITextRenderer库提供了一个强大的解决方案。ITextRenderer是Apache FOP项目的一部分,它允许我们将XSL-FO(一种XML格式,用于布局和排版)转换为各种输出格式,包括PDF。下面我们将详细探讨如何使用...

    使用iText进行HTML转PDF解决中英文不换行bug

    xhtmlrenderer 进行HTML转PDF,修改了core-renderer-R8的源码,兼容中英文换行,且保持对英文单词完整性,亲测可用。

    利用Itext实现html转pdf

    在这个场景中,我们将讨论如何利用Itext库在不修改源代码的情况下,实现HTML到PDF的转换,并处理换行问题。 首先,我们需要理解Itext不直接支持HTML到PDF的转换,但它可以通过其他方式间接实现。通常,我们会借助一...

    URL链接转换为PDF支出中文

    在Linux环境下,中文显示问题通常由字体缺失或编码设置不当引起。Linux默认可能不包含所有必要的中文字体,因此需要确保系统中已经安装了如文泉驿微米黑、Adobe Source Han Sans CN等开源中文字体。同时,Java程序也...

    JAVA项目代码绘制PDF和通过freemarker动态生成PDF

    不太推荐需要在代码内部编写PDF格式,如果要使用,建议写个基类,将同一版本 或者同一类型的公共方法写入,差异化的抽象,一个模板一个子类,子类使用@Component命名,使用反射的方式获取模板子类。 2. ...

    html转pdf,ITEXT转HTML为PDF解决中文不换行问题

    1、core-renderer.jar该jar包修改过中文不换行问题 public static String getConversionHtmlCode(String link... String css = ""; css +="<style>"; css +="table{"; css +=" border-collapse: collapse;... }

    PD4ML 实测Java将HTML导出为PDF 成功解决中文乱码问题

    本篇将深入探讨如何使用PD4ML实现在Java环境中处理中文乱码问题,并提供相关文件的背景和用途。 首先,我们要理解为何会出现中文乱码。在处理非ASCII字符,如中文字符时,如果字体、编码设置不正确,就可能出现乱码...

    Java中使用 FreeMarker 生成pdf盖章合同文件

    本篇文章将深入探讨如何在Java中使用FreeMarker生成带有盖章的PDF合同文件。 首先,让我们了解FreeMarker的基本概念。FreeMarker是一个基于模板的语言,它与Java代码分离,允许开发者用简单的模板语法来表示数据。...

    flying saucer的中文不显示问题(修改源码后重新打的jar包)

    在默认情况下,Flying Saucer可能不包含对中文字符集的支持,因此在尝试转换包含中文的网页时,可能会出现乱码或者无法显示的问题。为了解决这个问题,我们需要深入到Flying Saucer的源码中,找到相关的部分进行修改...

    pdf-renderer.jar

    《pdf-renderer.jar在Java环境下的应用与解析》 PDF渲染器是用于处理PDF文档的重要工具,而`pdf-renderer.jar`就是一个实现了PDF渲染功能的Java库。它允许开发者在Java应用程序中集成PDF查看和处理的功能,使得在不...

    Flying Saucer实现html转pdf(一些问题,持续更新)

    要开始使用Flying Saucer,你需要在项目中添加相应的依赖。如果你使用的是Maven,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.xhtmlrenderer <artifactId>flying-saucer-pdf <version>9.1.23 ``` ...

    htmltopdf.zip使用itext5将html转换为PDF并添加水印

    在该方法中,使用`ColumnText`类添加水印文本。 ```java class WatermarkEventListener extends PdfPageEventHelper { @Override public void onEndPage(PdfWriter writer, Document document) { ...

    itext生成pdf解决中英文换行问题

    导入 <groupId>org.xhtmlrenderer <artifactId>core-renderer <version>R8 直接根目录下新建包org.xhtmlrenderer.layout 覆盖jar

    html转pdf插件wkhtmltopdf

    本文将详细介绍WKHTMLTOPDF的工作原理、使用方法以及在Java环境中的集成应用。 一、WKHTMLTOPDF工作原理 WKHTMLTOPDF是由Qt WebKit库支持的一个开源命令行工具,它利用WebKit来渲染HTML页面,并将其导出为PDF格式。...

    Java word转pdf

    在项目中使用这些方法时,你需要添加以下Maven依赖: - Apache POI: ```xml <groupId>org.apache.poi <artifactId>poi-ooxml <version>4.1.2 ``` - Flying Saucer: ```xml <groupId>org....

    java实现将html转pdf,并在指定位置添加印章

    在生成PDF后,使用iText库可以方便地在指定位置插入图像。iText提供了`Image`类,你可以通过文件路径或者流加载印章图片,然后使用`setAbsolutePosition(x, y)`方法设定其在PDF中的位置。 下面是一个简单的示例代码...

Global site tag (gtag.js) - Google Analytics