通过插入 FormFeed 字符在文本文件中插入分页符。这是通用解决方案吗?
Inserting a page Break in a text file by inserting FormFeed Character. Is this Universal solution?
使用 Java.
通过插入 FormFeed 字符在文本文件中插入分页符
我的解决方案是通用的还是会引起任何问题?
Sample Code:
PrintWriter bof = response.getWriter(); // Obtained Writer from HTTP Response
bof.write("Para 1"); // Write 1st Para to printWriter
bof.write(new Character((char) 12).toString()); // Write Form Feed Character for Page Break
bof.write("Para 1"); // Write 2nd Para to printWriter
我的顾虑:解决方案有效但低于我的 2 个顾虑:
要点 1:有没有办法隐藏记事本中为 FormFeed 字符显示的未知符号?
第 2 点:
我目前正在用 Word 打开 txt 文件并检查打印预览:
换页实际上按预期进行了分页。
但是这个解决方案有什么影响吗?它是否适用于所有打印机?
影响显示和打印的因素:
Display
程序打开 txt 文件时的 formFeed 取决于:
- 程序对 FormFeed 字符的解释。
但 Print operation
结果取决于:
- 用于打开和打印 txt 文件的程序
- 我们正在使用的打印机。
各种程序处理换页字符:
1)NotePad:
- 记事本只是文本编辑器,不会将换页字符解释为
分页符。
因此当包含 formFeed 字符的 txt 文件时:
用记事本打开>>显示为不可读符号
用记事本打开后打印时:相同的不可读符号是
打印在纸上。
2) 一些 WordProcessors like WordPad/ Microsoft Word
/其他第 3 方编辑:
- 将 FormFeed 字符正确呈现为分页符。
- 在使用它们打开 txt 文件时将其显示为 pageBreak 等
打印它也充当分页符。
- 我们还可以看到 Form Feed 在 PrintPreview 中呈现为 PageBreak
WordPag/MS Word.
等程序中的选项
获取分页符的通用解决方案:
有些打印机不支持按换页字符分页,
只是 忽略它 而不管用于 open/print 它的程序如何。
使用 "/page" with RichTextFile(RTF) File is more Reliable/Universal
solution
并适用于大多数打印机。
对于 Rtf 文件我们可以指定:
“/page”而不是“/f”用于分页和 /par 用于换行。
在Windows.
中默认使用写字板程序打开rtf文件
Additional format control is possible
使用 Rtf 文件,如:
ex: 特定字体和字体大小(如 Times New Roman 大小 10)
可以指定。
在我的案例中使用的解决方案是:
第 1 点:
- 当用记事本打开时,不可读符号显示为记事本无法显示
呈现 FormFeed 字符。
第 2 点:
- 我在打印预览中出现了 PageBreak,因为我使用了呈现的 MS Word
formFeed 正确作为分页符。
- 但如前所述,有些打印机可能会忽略它,即使是 MS Word
正确解释并发送打印。
所以我使用 rtf 文件而不是 txt 文件,因此使用“/page”而不是“/f”以获得更通用的解决方案。
下面的超链接指定了有关如何创建 Rtf 文件和使用的信息
/apge 用于分页符:
rtf File creation and using it for font and page Break Features
使用 Java.
通过插入 FormFeed 字符在文本文件中插入分页符我的解决方案是通用的还是会引起任何问题?
Sample Code:
PrintWriter bof = response.getWriter(); // Obtained Writer from HTTP Response
bof.write("Para 1"); // Write 1st Para to printWriter
bof.write(new Character((char) 12).toString()); // Write Form Feed Character for Page Break
bof.write("Para 1"); // Write 2nd Para to printWriter
我的顾虑:解决方案有效但低于我的 2 个顾虑:
要点 1:有没有办法隐藏记事本中为 FormFeed 字符显示的未知符号?
第 2 点: 我目前正在用 Word 打开 txt 文件并检查打印预览:
换页实际上按预期进行了分页。
但是这个解决方案有什么影响吗?它是否适用于所有打印机?
影响显示和打印的因素:
Display
程序打开 txt 文件时的 formFeed 取决于:
- 程序对 FormFeed 字符的解释。
但 Print operation
结果取决于:
- 用于打开和打印 txt 文件的程序
- 我们正在使用的打印机。
各种程序处理换页字符:
1)NotePad:
- 记事本只是文本编辑器,不会将换页字符解释为 分页符。
因此当包含 formFeed 字符的 txt 文件时:
用记事本打开>>显示为不可读符号
用记事本打开后打印时:相同的不可读符号是 打印在纸上。
2) 一些 WordProcessors like WordPad/ Microsoft Word
/其他第 3 方编辑:
- 将 FormFeed 字符正确呈现为分页符。
- 在使用它们打开 txt 文件时将其显示为 pageBreak 等 打印它也充当分页符。
- 我们还可以看到 Form Feed 在 PrintPreview 中呈现为 PageBreak WordPag/MS Word. 等程序中的选项
获取分页符的通用解决方案:
有些打印机不支持按换页字符分页, 只是 忽略它 而不管用于 open/print 它的程序如何。
使用
"/page" with RichTextFile(RTF) File is more Reliable/Universal solution
并适用于大多数打印机。
对于 Rtf 文件我们可以指定:
“/page”而不是“/f”用于分页和 /par 用于换行。
在Windows.
中默认使用写字板程序打开rtf文件
Additional format control is possible
使用 Rtf 文件,如:ex: 特定字体和字体大小(如 Times New Roman 大小 10) 可以指定。
在我的案例中使用的解决方案是:
第 1 点:
- 当用记事本打开时,不可读符号显示为记事本无法显示 呈现 FormFeed 字符。
第 2 点:
- 我在打印预览中出现了 PageBreak,因为我使用了呈现的 MS Word formFeed 正确作为分页符。
- 但如前所述,有些打印机可能会忽略它,即使是 MS Word 正确解释并发送打印。
所以我使用 rtf 文件而不是 txt 文件,因此使用“/page”而不是“/f”以获得更通用的解决方案。
下面的超链接指定了有关如何创建 Rtf 文件和使用的信息 /apge 用于分页符:
rtf File creation and using it for font and page Break Features