通过插入FormFeed字符插入页面中断文本文件。这是Universal解决方案吗?

时间:2016-02-15 11:13:51

标签: java character-encoding notepad printers page-break

通过使用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

我的担忧:解决方案正在运作,但低于我的两个角落:

第1点:有没有办法在记事本中隐藏为FormFeed角色显示的未知符号?

第2点: 我目前正在使用Word打开txt文件并检查打印预览:

Form Feed实际上是按预期进行分页。

但这个解决方案是否有任何影响,还是普遍适用于所有打印机?

1 个答案:

答案 0 :(得分:2)

影响展示和打印的因素:

form的

Display在程序打开txt文件时依赖于:

  • 该计划对FormFeed角色的解释。

Print operation结果取决于:

  • 用于打开和打印txt文件的程序
  • 我们正在使用的打印机。

各种程序的Feed Feed字符处理:

1)NotePad:

  • 记事本只是文本编辑器,不会将换页字符解释为 分页符。
  • 因此,当包含formFeed Character:

    的txt文件时 用记事本>>打开时

    它显示为Unreadable Symbol

    用NotePad打开后打印:同样不可读的符号是 印在纸上。

2)一些WordProcessors like WordPad/ Microsoft Word /其他第三方编辑:

  • 正确将FormFeed角色渲染为pageBreak。
  • 用它们打开txt文件将其显示为pageBreak并打开 打印也可以作为分页。
  • 我们还可以在PrintPreview中看到Form Feed呈现为PageBreak WordPag / MS Word等程序中的选项。

获取PageBreak的通用解决方案:

  • 有些打印机不支持使用formFeed字符和Page Break 只需忽略,无论用于打开/打印它的程序如何。

  • "/page" with RichTextFile(RTF) File is more Reliable/Universal solution的使用方法适用于大多数打印机。

使用Rtf文件,我们可以指定:

  • " /页"而不是" / f" for line break和/ par for lineBreak。

  • 默认情况下,Windows中的Wordpad程序会打开Rtf文件。

  • Additional format control is possible使用Rtf文件,如:

    ex:特定的字体和字体大小(如Times New Roman size 10) 可以指定。

在我的案例中使用的解决方案是:

第1点:

  • 由记事本打开时不可读符号显示为记事本 渲染FormFeed角色。

第2点:

  • 我在打印预览中获得了PageBreak,因为我使用了呈现的MS Word formFeed正确作为分页符。
  • 但正如已经说过的,一些打印机可能会忽略它,尽管MS Word 正确解释并发送它进行打印。

所以我使用 rtf文件而不是txt文件,因此使用" / page"而不是" / f"更普遍的解决方案。