如何使用java导出pdf格式的列表
对于web应用程序,我需要实现一个允许导出pdf格式列表的功能 我该怎么做? 有一个类允许它 或者如果你有任何建议,请如何使用java导出pdf格式的列表,java,arraylist,Java,Arraylist,对于web应用程序,我需要实现一个允许导出pdf格式列表的功能 我该怎么做? 有一个类允许它 或者如果你有任何建议,请 提前感谢您有一个名为的免费库,您可以使用它生成PDF,将其动态写入HTTP响应,或者作为使用Java的批处理过程。对于简单的事情来说,它很容易使用,尽管在线文档实际上并不存在——相反,你可以通过购买这本书来支持这个项目,其中一个选择是购买一本纸质版,包括一本PDF电子书,因此,您不必等待帖子。有一个名为的免费库,您可以使用它生成PDF,将其动态写入HTTP响应,或者作为使用Ja
提前感谢您有一个名为的免费库,您可以使用它生成PDF,将其动态写入HTTP响应,或者作为使用Java的批处理过程。对于简单的事情来说,它很容易使用,尽管在线文档实际上并不存在——相反,你可以通过购买这本书来支持这个项目,其中一个选择是购买一本纸质版,包括一本PDF电子书,因此,您不必等待帖子。有一个名为的免费库,您可以使用它生成PDF,将其动态写入HTTP响应,或者作为使用Java的批处理过程。对于简单的事情,它很容易使用,尽管在线文档实际上并不存在——相反,你可以通过购买这本书来支持这个项目,其中一个选择是购买一本纸质的,包括一本PDF电子书,这样你就不用等帖子了。你可以使用它的最新版本是在GNU Affero GPLv3许可下的。在教程中查看您需要的内容。您可以使用它的最新版本,它是在GNU Affero GPLv3许可下的。在教程中查看您需要的内容。一个简单的解决方案是针对Java的,它具有创建PDF的功能。因为听起来您的用例实际上只是简单地将列表输出到PDF,所以您可能只需要从PDFBox使用预先编写的实用程序。一个简单的解决方案是Java,它具有创建PDF的功能。因为听起来您的用例实际上只是简单地将列表输出到PDF,所以您可能只需要从PDFBox使用预先编写的实用程序。我认为免费应用程序报告的最佳解决方案是JasperReports
您与PDF没有任何关系,只要定义数据、POJO列表(如果需要)、字段、布局和创建输出即可。PDF是基于iText的受支持格式之一。我认为免费应用程序报告的最佳解决方案是JasperReports
您与PDF没有任何关系,只要定义数据、POJO列表(如果需要)、字段、布局和创建输出即可。PDF是支持的格式之一,它基于iText。我使用其他答案中提到的Apache PDF Box,但我试图展示具体的代码示例,因为没有一个答案表明&新手可能会因为在线可用的文档而挣扎,特别是在坐标系和行创建方面 下面是我的实用方法。valuesToExport是我希望逐个写入pdf的行&filepath是要将数据写入的pdf文件 我从多种类型的导出调用此方法,即当我有不同类型的POJO列表时。我首先将要写入pdf的每个pojo字段转换为字符串[],并放入列表中。字符串[]的每个元素表示一列 您可以根据需要更改多个常量,尤其是每个pdf页面的行数。我在示例代码中使用了每页10行
import java.util.List;
import java.nio.file.Path;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
public static void writeToPdf(List<String[]> valuesToExport, Path filePath) {
try (PDDocument doc = new PDDocument()) {
PDFont font = PDType1Font.HELVETICA;
PDPage page = new PDPage();
doc.addPage(page);
PDPageContentStream content = new PDPageContentStream(doc, page);
content.setFont(font, 12);
int lines = 1;
float pageHeight = page.getMediaBox().getHeight();
for (String[] row : valuesToExport) {
int startX = 0;
for (String column : row) {
content.beginText();
content.newLineAtOffset(startX, pageHeight - 50 * lines);
startX += startX + 100;
content.showText(column);
content.endText();
}
++lines;
if (lines > 10) {
page = new PDPage();
doc.addPage(page);
content.close();
content = new PDPageContentStream(doc, page);
content.setFont(font, 12);
}
}
content.close();
doc.save(filePath.toFile());
} catch (IOException ex) {
//either log exception or rethrow it
}
}
我使用其他答案中提到的ApachePDF框,但我试图展示具体的代码示例,因为没有一个答案表明&新手可能会因为在线可用的文档而挣扎,特别是在坐标系和行的创建方面 下面是我的实用方法。valuesToExport是我希望逐个写入pdf的行&filepath是要将数据写入的pdf文件 我从多种类型的导出调用此方法,即当我有不同类型的POJO列表时。我首先将要写入pdf的每个pojo字段转换为字符串[],并放入列表中。字符串[]的每个元素表示一列 您可以根据需要更改多个常量,尤其是每个pdf页面的行数。我在示例代码中使用了每页10行
import java.util.List;
import java.nio.file.Path;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
public static void writeToPdf(List<String[]> valuesToExport, Path filePath) {
try (PDDocument doc = new PDDocument()) {
PDFont font = PDType1Font.HELVETICA;
PDPage page = new PDPage();
doc.addPage(page);
PDPageContentStream content = new PDPageContentStream(doc, page);
content.setFont(font, 12);
int lines = 1;
float pageHeight = page.getMediaBox().getHeight();
for (String[] row : valuesToExport) {
int startX = 0;
for (String column : row) {
content.beginText();
content.newLineAtOffset(startX, pageHeight - 50 * lines);
startX += startX + 100;
content.showText(column);
content.endText();
}
++lines;
if (lines > 10) {
page = new PDPage();
doc.addPage(page);
content.close();
content = new PDPageContentStream(doc, page);
content.setFont(font, 12);
}
}
content.close();
doc.save(filePath.toFile());
} catch (IOException ex) {
//either log exception or rethrow it
}
}
不,我与iText项目没有任何关联。不,我与iText项目没有任何关联。