Java 新行中PDF格式的ArrayList
我想从java发送一些PDF格式的调查,我尝试了不同的方法。我使用带StringBuffer和不带StringBuffer,但总是在一行中看到PDF中的文本Java 新行中PDF格式的ArrayList,java,spring,pdf,itext,Java,Spring,Pdf,Itext,我想从java发送一些PDF格式的调查,我尝试了不同的方法。我使用带StringBuffer和不带StringBuffer,但总是在一行中看到PDF中的文本 public void writePdf(OutputStream outputStream) throws Exception { Paragraph paragraph = new Paragraph(); Document document = new Document(); PdfWriter.ge
public void writePdf(OutputStream outputStream) throws Exception {
Paragraph paragraph = new Paragraph();
Document document = new Document();
PdfWriter.getInstance(document, outputStream);
document.open();
document.addTitle("Survey PDF");
ArrayList nameArrays = new ArrayList();
StringBuffer sb = new StringBuffer();
int i = -1;
for (String properties : textService.getAnswer()) {
nameArrays.add(properties);
i++;
}
for (int a= 0; a<=i; a++){
System.out.println("nameArrays.get(a) -"+nameArrays.get(a));
sb.append(nameArrays.get(a));
}
paragraph.add(sb.toString());
document.add(paragraph);
document.close();
}
textService.getAnswer this-ArrayList
你能告诉我如何把课文按顺序分开吗?每一个新句子都是从新的一行开始的?
现在我看到的是这样的:关于:
nameArrays.add(properties+"\n");
那么:
nameArrays.add(properties+"\n");
您忘记了换行符,\n代码似乎有点过于复杂。 试试这个:
StringBuffer sb = new StringBuffer();
for (String property : textService.getAnswer()) {
sb.append(property);
sb.append('\n');
}
您忘记了换行符,\n代码似乎有点过于复杂。 试试这个:
StringBuffer sb = new StringBuffer();
for (String property : textService.getAnswer()) {
sb.append(property);
sb.append('\n');
}
您可以通过简单地将\n附加到列表中收集的字符串来修复此问题;但我认为:这在很大程度上取决于您使用的PDF库
你看,换行符或段落在某种程度上与格式有关。将格式信息添加到正在处理的数据中似乎是一个概念问题
意思:您可能想检查您的库是否允许您提供字符串,然后让库为您进行格式化
换句话说:不是给字符串加换行符;您应该检查是否可以继续使用不带换行符的字符串,但是否有方法让PDF库添加换行符是合适的
关于代码质量的旁注:您使用的是原始类型:
最好是
ArrayList<String> names = new ArrayList<>();
[我还更改了名称-将集合的类型放入变量名中没有任何意义!]您可以通过简单地将\n附加到列表中收集的字符串来解决此问题;但我认为:这在很大程度上取决于您使用的PDF库
你看,换行符或段落在某种程度上与格式有关。将格式信息添加到正在处理的数据中似乎是一个概念问题
意思:您可能想检查您的库是否允许您提供字符串,然后让库为您进行格式化
换句话说:不是给字符串加换行符;您应该检查是否可以继续使用不带换行符的字符串,但是否有方法让PDF库添加换行符是合适的
关于代码质量的旁注:您使用的是原始类型:
最好是
ArrayList<String> names = new ArrayList<>();
[我还更改了名称-将集合类型放入变量名中没有意义!]此方法用于将数组列表中的值保存到pdf文档中。在mfilePath变量/中,您可以在此处指定文件夹名称。例如 对于mFileName变量,也可以使用name。我给出了创建文档的日期和时间。不要在同一pdf中指定静态名称,否则将覆盖您的值 私人文件 {
此方法用于将数组列表中的值保存到pdf文档中。在mfilePath变量/in中,您可以在此处指定文件夹名称。例如/example/ 对于mFileName变量,您也可以使用name。我提供文档创建的日期和时间。不要提供静态名称,否则您的值将在同一pdf中覆盖 私人文件 {
欢迎使用Stack Overflow!请为您的代码添加一些解释,这是此平台上的一个重要部分。我们的指南可能会有所帮助。下面是您的答案,是添加一些文本的链接编辑。谢谢!欢迎使用Stack Overflow!请为您的代码添加一些解释,这是此平台上的一个重要部分。我们的指南可能会有所帮助。下面是您的答案是一个链接编辑添加一些文字。谢谢!