我已经从MFC创建了一个Rich Edit控件(1.0),如下所示:
m_hRichEditWnd = ::CreateWindow(_T("RichEdit"), csWindowName, ES_MULTILINE|ES_READONLY, 0, 0, 200, 200, NULL, 0, 0, 0);我从一个文件中将文本读入到该控件中。该文件是一个多页.txt文档,其中包含用于分页符的ascii控制字符。当我从Rich Edit控件打印时,我没有得到分页符。它们被打印出来作为字符。有没有办法获得这些分页符?
我使用与这里描述的方法类似的方法从控件中打印输出http://msdn.microsoft.com/en-us/library/windows/desktop/bb787875(v=vs.85).aspx
发布于 2011-11-12 12:12:29
因此,我遗漏了一点,那就是我实际上并没有打印到物理打印机,而是打印到了一个.ps文件。然后,该.ps文件被ghost脚本转换为未注册分页符的pdf。我相信这是因为编辑控件实际上不会在其中显示分页符-打印命令的工作方式几乎就像打印设备上的图形blit。分页符不是“屏幕上的”,所以它不会出现在.ps文件中。这只是个理论。
我找到的唯一解决方案是解析进入CRichEditControl的信息,以获得换页字符。加载直到换页字符的所有字符,将其打印到文件,然后使用EndPage()函数手动强制换页。继续这样操作,直到没有更多的换页字符。然后确保打印出最后一个换页符之后的所有剩余字符。
https://stackoverflow.com/questions/8072388
复制相似问题