【发布时间】:2019-05-13 11:04:05
【问题描述】:
对于 PDF 文件,有些数据是文本,有些数据是原始数据流。
在为 PDF 文件编写解析器时,我使用 NotePad++ 查看文件以查看单个字符,并使用 HxD 查看十六进制代码。
当使用 NotePad++ 打开 PDF 文件时,它会将 CR (0xOD 13) 或 LF (0x0A 10) 视为行尾字符并使用任一字符显示新行的开头。但是,我只需要将 LF 视为换行符并开始换行以进行显示,而 CR 不被视为换行符。
在编辑时,有一种方法可以更改按下回车键时输入的 EOL 字符,(菜单:编辑 -> EOL 转换)我找不到任何方法来更改行尾字符用于格式化显示的方式.
PostScript 还有一个语言选项,如果您知道 PDF 是 PDF 的基础;这也不会根据需要格式化行。
是否可以在 NotePad++ 中声明 LF 是为了显示目的而开始一个新行,而 CR 是被认为只是另一个显示值? p>
这是一个示例,显示 NotePad++ 将 CR 和 LF 都作为 EOL 格式化文本,这不是所需要的。
这应该只显示 4 行。
第 2 行在 CR 处拆分,这是不希望的。
编辑
基于Julio的评论。
虽然我不认为这是一个可以接受的答案,但它是一个很好的解决方法。在此处发布,以供可能发现此问题并希望查看建议的其他人使用。
制作文件的副本,然后修改它以便在 NotePad++ 中查看。在这种情况下,\r 被替换为 <was CR>。
这是可行的,因为解析器查看原始文件,而我使用 NotePad++ 查看修改后的文件。
我不认为这是一个可以接受的答案的原因是因为我正在寻找对 NotePad++ 中的设置、插件或其他一些易于执行的方法进行更改。复制许多文件并修改它们不是我想要经常做的事情。
【问题讨论】:
-
这听起来很棘手。但是由于您只是将它用于显示目的,也许您可以将所有 CR 字符替换为其他一些东西,如 unicode
NEL,或一些虚拟字符串,如<WAS_A_CR> -
谢谢!我将其添加为答案,因为您可以使用宏使整个过程自动化。因此,您只需单击一下即可。