【问题标题】:How to print out pdf file with script generated highlighted output?如何使用脚本生成的突出显示输出打印出 pdf 文件?
【发布时间】:2014-03-20 08:42:44
【问题描述】:

我已经使用 JakeWharton 的 pidcat 来查看我的应用程序的日志:

$ pidcat [org.test.myapp]

并将其重定向到文件:

$ pidcat [org.test.myapp] > ~/Dev/myapp_log

pidcat 会生成非常突出的内容,我尝试将其保存在 pdf 文件中。我试过了:

$ cupsfilter ~/Dev/myapp_log ~/Dev/myapp_log.pdf

但它只是将纯白色文本生成为 pdf。

如何在 pdf 文件中保留漂亮的高亮格式?附言这是一个很长的日志。不能只打印屏幕..

这是原始输出的样子:

这是默认打开的部分 pidcat 输出 Mac 上的文本编辑器:

[107m                          [0m Process created for broadcast com.nortek.app/org.videolan.vlc.PhoneStateReceiver
[107m                          [0m PID: 9718   UID: 10157   GIDs: {50157, 3003, 1028, 1015}


[101m                          [0m Process 9718 ended


[107m                          [0m Process created for activity com.nortek.app/.ui.activity.DummyMainActivity
[107m                          [0m PID: 2840   UID: 10157   GIDs: {50157, 3003, 1028, 1015}

[31mek.app.common.ApiAgent[0m [30;104m D [0m @ Ready to send out GET_ALL_DATA : http://192.168.11.59:8083/ZWaveAPI/data/0
[37m       ActivityManager[0m [30;102m I [0m Timeline: Activity_idle id: android.os.BinderProxy@4181e268 time:34298679
[32mvity.DummyMainActivity[0m [30;104m D [0m @ nav item click id : 5/Camera
[33m                Volley[0m [30;101m E [0m [1] 1.onErrorResponse: Error GET_ALL_DATA :
                       [30;104m D [0m [1] Request.finish: 3076 ms: [ ] http://192.168.11.59:8083/ZWaveAPI/data/0 0x85bd6053 NORMAL 3
[34mSpannableStringBuilder[0m [30;101m E [0m SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
                       [30;101m E [0m SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[35m      VLC/AudioService[0m [37;100m V [0m Loading position 0 in [rtsp://192.168.11.40:5454/live]
                       [37;100m V [0m Creating on-the-fly Media object for rtsp://192.168.11.40:5454/live
[36m                   VLC[0m [30;104m D [0m core libvlc: no fetch required for (null) (art currently (null))
                       [30;104m D [0m core demux meta: looking for meta fetcher module matching "any": 0 candidates
                       [30;104m D [0m core demux meta: no meta fetcher modules
                       [30;104m D [0m core libvlc: searching art for rtsp://192.168.11.40:5454/live
                       [30;104m D [0m core art finder: looking for art finder module matching "any": 1 candidates
                       [30;104m D [0m core art finder: no art finder modules matched
                       [30;104m D [0m core libvlc: art not found for rtsp://192.168.11.40:5454/live
[31m      VLC/LibVLC/Media[0m [30;104m D [0m Title rtsp://192.168.11.40:5454/live
                       [30;104m D [0m Artist Unknown Artist
                       [30;104m D [0m Genre Unknown Genre
                       [30;104m D [0m Album Unknown Album
[36m                   VLC[0m [30;104m D [0m core input: Creating an input for 'rtsp://192.168.11.40:5454/live'

【问题讨论】:

    标签: shell pdf


    【解决方案1】:

    首先,您必须将彩色外壳输出转换为 html,然后再转换为 pdf。

    使用来自hereansi2html.sh

    你可以这样试试

    cat myapp_log | ansi2html.sh -p > myapp_log.html
    html2any myapp_log.html file.pdf
    

    【讨论】:

    • 我尝试用 enscript 生成一个 file.ps。并用预览打开它,它会自动翻译成pdf,但高亮格式仍然没有。
    • 你能告诉我你的日志内容吗?至少一些 sn-p,我认为 pidcat 标准输出不包含任何关于亮点的信息
    • 我用一些 sn-p 更新我的帖子。我认为这是 telnet 的一种高亮语法。
    • 更新了我的答案。您的日志包含外壳颜色,因此您需要将其转换为 html 之类的东西,然后再转换为 pdf。如果您还有问题,请告诉我。如果不是,您可以接受答案,如果它是您的解决方案:)
    • 太好了!有效!从 html 到 pdf 我只是从 Chrome 打开它并将其打印为 pdf。谢谢你的剧本! :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多