一个非常简单的案例在IBM i中使用itext不写pdf文件
a very simple case does not write pdf file by using itext in IBM i
我正在尝试在 IBM i 中使用 itext (5.5.13)(AKA iseries,Power,很久以前 AS/400)。可以将 java 代码嵌入到 RPG ILE 过程中,或者执行纯 java。我们使用 Apache POI for Excel 一段时间,效果很好。我们现在正在测试 itext,。
鉴于此,我正在尝试将纯 java 中的 itext 测试到 IBM i 中。我准备了一个非常简单的例子,取自“Itext in action”的清单 1.1,运行。它似乎运行良好,但没有生成任何内容。没有 pdf 文件结果。 运行ning 时没有出现错误。
我忘了什么吗?还有其他一些方面需要考虑吗?
这是代码:
package QOpenSys.CONSUM.Testjeu;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class test1{
public static final String filePdf = "/QOpenSys/MyFolder/Testjeu/PdfRead1.pdf";
public static void main(String[] args)
throws DocumentException, IOException
{
///QOpenSys/MyFolder/Test/WrkBookRead1.pdf
//pdfDocument = new_DocumentVoid()
Document pdfDocument = new Document();
//pdfWriter = get_PdfWriter( pdfDocument: pdfFilePath);
PdfWriter.getInstance(pdfDocument, new FileOutputStream( filePdf ));
// jItxDocumentOpen( pdfDocument );
pdfDocument.open();
//pdfParagraph = new_PdfParagraphStr( PhraseString );
Paragraph jItxParagraph = new Paragraph("Hola, pdf");
//addToDocPg = jItxDocumentAddParagraph( pdfDocument: pdfParagraph );
pdfDocument.add(jItxParagraph);
//jItxDocumentClose( pdfDocument );
pdfDocument.close();
}
}
已解决。如前所述,存在第一个问题:似乎 java 函数 运行 很好,因为 errors/warnings 在 qshell 中不可见。这是错误的:错误被发送到 outq,并且在假脱机文件中可用。经过审查,这是一个简单的 class 路径问题。找出 classpath 定位失败的原因需要一整天。
现在它工作了,并且创建了pdf。我运行它在qshell上,为java_home声明环境变量(三个jvm由几个应用程序同时执行),为classpath声明环境变量,以及跟踪所需的一对。类路径首先声明 my class,然后声明 itext classes。其余 classes 来自 JRE。我有 class 加载程序加载的 classes 的完整列表。我希望它能帮助我们找到嵌入式 RPG ILE 对 itext 的调用失败的原因。
我正在尝试在 IBM i 中使用 itext (5.5.13)(AKA iseries,Power,很久以前 AS/400)。可以将 java 代码嵌入到 RPG ILE 过程中,或者执行纯 java。我们使用 Apache POI for Excel 一段时间,效果很好。我们现在正在测试 itext,
package QOpenSys.CONSUM.Testjeu;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class test1{
public static final String filePdf = "/QOpenSys/MyFolder/Testjeu/PdfRead1.pdf";
public static void main(String[] args)
throws DocumentException, IOException
{
///QOpenSys/MyFolder/Test/WrkBookRead1.pdf
//pdfDocument = new_DocumentVoid()
Document pdfDocument = new Document();
//pdfWriter = get_PdfWriter( pdfDocument: pdfFilePath);
PdfWriter.getInstance(pdfDocument, new FileOutputStream( filePdf ));
// jItxDocumentOpen( pdfDocument );
pdfDocument.open();
//pdfParagraph = new_PdfParagraphStr( PhraseString );
Paragraph jItxParagraph = new Paragraph("Hola, pdf");
//addToDocPg = jItxDocumentAddParagraph( pdfDocument: pdfParagraph );
pdfDocument.add(jItxParagraph);
//jItxDocumentClose( pdfDocument );
pdfDocument.close();
}
}
已解决。如前所述,存在第一个问题:似乎 java 函数 运行 很好,因为 errors/warnings 在 qshell 中不可见。这是错误的:错误被发送到 outq,并且在假脱机文件中可用。经过审查,这是一个简单的 class 路径问题。找出 classpath 定位失败的原因需要一整天。 现在它工作了,并且创建了pdf。我运行它在qshell上,为java_home声明环境变量(三个jvm由几个应用程序同时执行),为classpath声明环境变量,以及跟踪所需的一对。类路径首先声明 my class,然后声明 itext classes。其余 classes 来自 JRE。我有 class 加载程序加载的 classes 的完整列表。我希望它能帮助我们找到嵌入式 RPG ILE 对 itext 的调用失败的原因。