发布时间:2024-11-21 20:16:37
```go cmd := exec.Command("/path/to/executable") ```
```go cmd := exec.Command("/path/to/executable", "arg1", "arg2", "arg3") ```
另外,我们还可以设置环境变量来影响被调用程序的行为。如果我们想要设置环境变量,只需在调用Command函数之前使用os包的Setenv函数即可。```go os.Setenv("MY_ENV_VAR", "my-value") cmd := exec.Command("/path/to/executable") ```
```go output, err := cmd.CombinedOutput() if err != nil { log.Fatal(err) } ```
这个方法会执行命令并将输出作为[]byte类型的切片返回。如果命令执行成功,err将为nil;否则,err将包含错误信息。我们可以根据需要对输出进行转换处理。```bash $ sudo apt-get install wkhtmltopdf # 或者使用其他合适的包管理器命令 ```
接下来,我们可以编写一个函数来执行命令并将HTML转换为PDF。```go package main import ( "log" "os" "os/exec" ) func htmlToPDF(htmlPath, pdfPath string) error { cmd := exec.Command("wkhtmltopdf", htmlPath, pdfPath) output, err := cmd.CombinedOutput() if err != nil { log.Println(string(output)) return err } return nil } func main() { err := htmlToPDF("/path/to/input.html", "/path/to/output.pdf") if err != nil { log.Fatal(err) } } ```
在上面的代码中,我们通过调用`wkhtmltopdf`命令并传递输入和输出文件路径来执行转换操作。如果发生错误,我们将打印输出并返回错误。