对于PDF文件,某些数据是文本,而某些数据是原始数据流。
在编写PDF文件解析器时,我正在使用NotePad ++查看文件以查看各个字符,还使用HxD查看十六进制代码。
使用NotePad ++打开PDF文件时,它会将 CR (0xOD 13)或 LF (0x0A 10)视为行尾字符,并使用任一字符显示新行的开始。但是,我只需要 LF 被视为新的换行字符并出于显示目的而开始新的行,而 CR 则不被视为新的换行字符。
在编辑时,有一种方法可以更改按回车键时输入的EOL字符,(菜单:编辑-> EOL转换)我找不到改变行尾字符格式化显示方式的方法。
PostScript还有一个语言选项,如果您知道PDF是PDF的基础,则该选项;也会导致行格式不符合要求。
在NotePad ++中是否可以声明 LF 出于显示目的而开始新行,而 CR 仅被视为另一个显示值?>
下面是一个示例,该示例显示NotePad ++使用 CR 和 LF 作为EOL来格式化文本,这不是必需的。
这应该仅显示4行。
第2行在 CR 处拆分,这是不希望的。
编辑
基于Julio的评论。
虽然我不认为这是可以接受的答案,但这是一个很好的解决方法。在此处发布其他可能会发现此问题并希望看到建议的人。
制作文件的副本,然后对其进行修改以在NotePad ++中查看。在这种情况下,\r
被替换为<was CR>
。
之所以有用,是因为解析器查看原始文件,而我使用NotePad ++查看修改后的文件。
之所以我不认为这是可以接受的答案,是因为我正在寻找对NotePad ++中的设置,插件或其他易于实现的方式进行更改的方法。我不想定期制作许多文件的副本并进行修改。
答案 0 :(得分:1)
这是解决方法,但我认为它可能对您有用。
通常的想法是创建文件的副本,并用\r
之类的伪文本替换<was CR>
您可以使用宏使整个过程自动化。我们将首先记录动作,然后在需要时能够“播放”它们。因此,只需单击一下,便可以达到预期的效果。
\r
替换为<was CR>
现在,只需按一下要更改的文件上的播放按钮。由于已创建“新的”内存中临时文件,因此您将不会修改原始文件。
请记住,您可以保存宏,以便它们可以在会话重新启动后持续存在。
该过程的演示: