Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Itext 7.1在文件中添加段落_Java_Itext7 - Fatal编程技术网

Java Itext 7.1在文件中添加段落

Java Itext 7.1在文件中添加段落,java,itext7,Java,Itext7,在iText 7.0中,我使用下面的代码将内容添加到pdf文档中,一切正常 ByteArrayOutputStream out = new ByteArrayOutputStream(); PdfWriter writer = new PdfWriter(out); PdfDocument pdfDocument = new PdfDocument(writer); try { LicenseKey.loadLicenseFile(".../key.xml"); Document

在iText 7.0中,我使用下面的代码将内容添加到pdf文档中,一切正常

ByteArrayOutputStream out = new ByteArrayOutputStream();
PdfWriter writer = new PdfWriter(out);
PdfDocument pdfDocument = new PdfDocument(writer);
try {
    LicenseKey.loadLicenseFile(".../key.xml");
    Document document = new Document(pdfDocument);
    document.add(new Paragraph("Some content"));
                //---more code----
当使用7.1.0版时,我会遇到一个异常

document.add(new Paragraph("Some content"));
例外情况:

参见嵌套异常;
nestedexceptionis:com.itextpdf.kernel.pdfeException:document.has.no.pages
当我捕捉到document.add调用过程中抛出的可丢弃内容时,我会收到一个

 NoSuchMethodError
com/itextpdf/layout/Document.add(Lcom/itextpdf/layout/element/IBlockElement;)Lcom/itextpdf/layout/Document;

尝试将
addNewPage()
添加到您的
PdfDocument

尝试将
addNewPage()
添加到您的
PdfDocument

在注释中,实际上有一个

NoSuchMethodError com/itextpdf/layout/Document.add(Lcom/itextpdf/layout/element/IBlockElement;)Lcom/itextpdf/layout/Document;
造成这个问题

自7.0.2以来,iText 7布局
文档
类有一个方法

public Document add(IBlockElement element)
在7.0.1之前,没有接口
IBlockElement
add
方法签名不同,并且显式使用泛型

public <T extends IElement> Document add(BlockElement<T> element)
公共文档添加(BlockElement)
该变更于2016年11月25日13:45:32在git commit 7cfc57b25c9faca96bc15e39163730002d9e4c9a中提交

因此,您似乎至少使用iText 7.0.2编译了代码,但最多使用iText 7.0.1运行它


请确保在编译代码之前使用iText版本运行代码。

在注释中,实际上有一个

NoSuchMethodError com/itextpdf/layout/Document.add(Lcom/itextpdf/layout/element/IBlockElement;)Lcom/itextpdf/layout/Document;
造成这个问题

自7.0.2以来,iText 7布局
文档
类有一个方法

public Document add(IBlockElement element)
在7.0.1之前,没有接口
IBlockElement
add
方法签名不同,并且显式使用泛型

public <T extends IElement> Document add(BlockElement<T> element)
公共文档添加(BlockElement)
该变更于2016年11月25日13:45:32在git commit 7cfc57b25c9faca96bc15e39163730002d9e4c9a中提交

因此,您似乎至少使用iText 7.0.2编译了代码,但最多使用iText 7.0.1运行它



请确保在编译代码之前使用iText版本运行代码。

这是一种不存在的方法确实如此。这是PDF文档而不是文档也意味着其他更改。Migath提供了一个解决方案,但没有解释与7.0版的区别您使用了哪个版本-7.0。?您希望使用哪个版本-7.1。?参见问题。使用7.0现在我需要使用7.1这是一个不存在的方法当然,它是。这是PDFdocument而不是Document意味着其他更改。Migath提供了一个解决方案,但没有解释与7.0版的区别您使用了哪个版本-7.0。?您希望使用哪个版本-7.1。?参见问题。使用7.0现在我需要使用7.1您是否尝试过不加载许可证文件?是的,我问了相同的问题,因为我无法重现您的问题。我已经在没有许可证密钥加载的情况下测试了您的代码,没有
——更多代码---
,但是使用了右括号,它可以正常工作。因此,我假设您的许可证加载或“更多代码”导致异常,而
document.has.no.pages
仅仅是原始异常的次要影响。我使用Itext 7.1.0 Licensekey 3.0.0 Java EE6 Java 8 WAS 8.5(完整配置文件)我得到一个NoSuchMethodError com/itextpdf/layout/document.add(Lcom/itextpdf/layout/element/IBlockElement;)Lcom/itextpdf/layout/Document;您是否尝试过不加载许可证文件?是的,我问了相同的问题,因为我无法再现您的问题。我在没有加载许可证密钥的情况下测试了您的代码,没有
---更多代码---
,但带有右括号,它可以正常工作。因此,我假设您的许可证加载或“更多代码”导致异常,而
document.has.no.pages
仅仅是原始异常的次要影响。我使用Itext 7.1.0 Licensekey 3.0.0 Java EE6 Java 8 WAS 8.5(完整配置文件)我得到一个NoSuchMethodError com/itextpdf/layout/document.add(Lcom/itextpdf/layout/element/IBlockElement;)Lcom/itextpdf/layout/Document;如何检查/实现that@Bgvv1983如何将代码部署到WebSphere?作为WAR?然后检查您将哪些库放入WAR文件中。作为EAR?可能还要检查包含的LIB,但我还没有处理EAR。还要检查您的WebSphere服务器是否强制您使用一些旧的iText 7 jar。如果是这样的话,重新配置WebSphere以向您的代码提供更新的iText 7 jar。当我浏览ear文件中的itext7 war(其中还有itext5 war)时,我在WEB-INF/lib kernel-7.1.0 jar中看到的内容与在maven依赖项中看到的“我在WEB-INF/lib kernel-7.1.0 jar中看到的内容相同”-但是
Document
不在kernel.jar中。它在layout.jar中。@Bgvv1983太好了!新设置似乎总是一个好策略…;)我如何检查/实现that@Bgvv1983如何将代码部署到WebSphere?作为一场战争?然后检查您将哪些库放入WAR文件中。作为一只耳朵?可能还包括LIB检查,但我还没有处理耳朵。还要检查您的WebSphere服务器是否强制您使用一些旧的iText 7 jar。如果有,请重新配置WebSphere以向您的代码提供更新的iText 7 jar。当我浏览ear文件中的itext7 war(其中还有一个itext5 war)时,我在我的WEB-INF/lib kernel-7.1.0 jar中看到,就像在我的maven依赖项“我在WEB-INF/lib kernel-7.1.0 jar中看到”一样,但
文档
不在kernel.jar中。它在layout.jar中。@Bgvv1983太棒了!新设置似乎总是一个好策略…;)