在启动PyLatex或Latexmk时如何隐藏命令提示符弹出窗口

时间:2019-07-03 21:59:57

标签: python python-3.x cmd latex pylatex

如何隐藏在启动过程中弹出的命令提示符并执行pylatex代码。我有一个正在处理的页面并生成pdf。运行代码时,我需要隐藏弹出窗口。

谈论此窗口:

enter image description here

是否可以隐藏或不显示latexmk.exe弹出窗口?

我一直在搜索和搜索,但没有发现与此问题相关的信息。

2 个答案:

答案 0 :(得分:1)

已经了解了Pylatex的源代码,我猜想您可能正在使用的generate_pdf()方法,实际上是否允许使用Silent = true / false参数

来源评论:

silent: bool
    Whether to hide compiler output

但是,这似乎并没有带来什么麻烦,我相信,如果要传入该参数,由于以下原因,您可能仍然会遇到同样的问题;

    else:
        if not silent:
            print(output.decode())

似乎有两个地方需要调用check_output(它是一个子过程方法)来启动Latexmk。哪个有助于您看到的窗口。

pylatest / document.py行:

  • 227

        output = subprocess.check_output(command,
                                         stderr=subprocess.STDOUT)
    
  • 248

         output = subprocess.check_output(command,
                                         stderr=subprocess.STDOUT)
    

可能的解决方案

您可以通过传入额外的参数shell = True来对这两行进行调整,该参数在调用latexmk时不会显示cmd窗口。

         output = subprocess.check_output(command,
                                         stderr=subprocess.STDOUT,
                                         shell=True)

答案 1 :(得分:0)

我相信您想要做的是隐藏应用程序使用的gui。它与Pylatex无关。

您可以尝试

Start-Process "C:\path\to\your.exe" -WindowStyle Hidden

在powershell中尝试一下。 如果它适合您,您可以将其转储为.bat文件,然后使用该文件,而不必每次都键入该文件。