如何使用asp.net将HTML页面构建的一部分转换为PDF

Shalinka Randeniya

我想将此红色框区域转换为pdf文档,以便在系统中将其用作报告。我该怎么办?我应该使用哪种pdf转换器?如何使用?(即使用引导程序

在此处输入图片说明

阿卜杜拉

您可以尝试使用此工具,这对HTML到pdf的对话非常有用http://wkhtmltopdf.org/

这是将HTML字符串转换为PDF字节的代码。

public byte[] Convert(string source, string commandLocation)
        {
            Process p;
            ProcessStartInfo psi = new ProcessStartInfo();
            psi.FileName = commandLocation;
            psi.WorkingDirectory = @"D:\" ;// Path.GetDirectoryName(psi.FileName);

            // run the conversion utility
            psi.UseShellExecute = false;
            psi.CreateNoWindow = true;
            psi.RedirectStandardInput = true;
            psi.RedirectStandardOutput = true;
            psi.RedirectStandardError = true;

            // note: that we tell wkhtmltopdf to be quiet and not run scripts
            string args = "-q -n ";
            args += "--disable-smart-shrinking ";
            args += "";
            args += "--outline-depth 0 ";
            args += "--page-size A4 ";
            args += " - -";

            psi.Arguments = args;

            p = Process.Start(psi);

            try
            {
                using (StreamWriter stdin = p.StandardInput)
                {
                    stdin.AutoFlush = true;
                    stdin.Write(source);
                }

                //read output
                byte[] buffer = new byte[32768];
                byte[] file;
                using (var ms = new MemoryStream())
                {
                    while (true)
                    {
                        int read = p.StandardOutput.BaseStream.Read(buffer, 0, buffer.Length);
                        if (read <= 0)
                            break;
                        ms.Write(buffer, 0, read);
                    }
                    file = ms.ToArray();
                }

                p.StandardOutput.Close();
                // wait or exit
                p.WaitForExit(60000);

                // read the exit code, close process
                int returnCode = p.ExitCode;
                p.Close();

                if (returnCode == 0)
                    return file;
                else
                    LogManager.Log("Could not create PDF, returnCode:" + returnCode);
            }
            catch (Exception ex)
            {
                LogManager.Log("Could not create PDF", ex);
            }
            finally
            {
                p.Close();
                p.Dispose();
            }
            return null;
        }

这里的“源代码”是HTML代码,而commandLocation是wkhtmltopdf.exe的完整文件路径,您可以从上面的链接下载。该函数返回byte [],这是pdf文件,您可以将其保存在磁盘上,也可以通过编写Response.Write(byte)返回到浏览器并更改MIMIE类型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Json.NET将JObject的一部分转换为Dictionary <string,string>

来自分类Dev

如何将Java源文件的一部分转换为Kotlin?

来自分类Dev

如何将XML的一部分转换为数据框?(正确)

来自分类Dev

如何将字符串的一部分转换为整数?

来自分类Dev

如何将字符串的一部分转换为斜体?

来自分类Dev

使用Jackson ObjectMapper将Json的一部分转换为HashMap

来自分类Dev

如何将casperjs脚本的一部分转换为函数,以便可以多次使用

来自分类Dev

如何使用PDFBox将页面的一部分呈现为图像?

来自分类Dev

如何将xml的一部分转换为没有名称空间的新xml?

来自分类Dev

如何将基于毫米的数字转换为表示米,厘米和毫米的一部分的数字?

来自分类Dev

Java:将字符串转换为在 url 中使用作为 get 的一部分

来自分类Dev

如何在aspx页面的一部分中打开HTML页面

来自分类Dev

是否可以使ASP.NET页面使用不同的DOCTYPE呈现页面的一部分?

来自分类Dev

如何在python中将api响应的一部分转换为完整的json

来自分类Dev

如何设置构建环境变量以将Clang用作NDK的一部分?

来自分类Dev

跳过视频的一部分,同时使用ffmpeg将其转换为图像

来自分类Dev

HTML / CSS如何暂时突出显示页面的一部分

来自分类Dev

如何在Python 3中隔离HTML页面的一部分

来自分类Dev

HTML / CSS如何暂时突出显示页面的一部分

来自分类Dev

如何仅将字符串的一部分呈现为HTML

来自分类Dev

如何将 ASP.NET 控制器属性与当前 URL 的一部分绑定?

来自分类Dev

使用ASP.NET Razor MVC仅包含部分视图的一部分

来自分类Dev

如何使用 i18n 仅翻译 html 页面的一部分

来自分类Dev

使用XSLT将XML文件转换为另一个XML文件,但是其中一部分代码无法正常工作

来自分类Dev

使用XSLT将XML文件转换为另一个XML文件,但是其中一部分代码无法正常工作

来自分类Dev

读取多个文本文件时,如何将文件名的一部分转换为变量?

来自分类Dev

如何在不创建临时字符串的情况下将字符串的一部分转换为int / float / vector3等?

来自分类Dev

我应该使用targetDataLine的哪一部分,以便通过FFT算法将音频转换为频率数据?

来自分类Dev

我应该使用targetDataLine的哪一部分,以便通过FFT算法将音频转换为频率数据?

Related 相关文章

  1. 1

    使用Json.NET将JObject的一部分转换为Dictionary <string,string>

  2. 2

    如何将Java源文件的一部分转换为Kotlin?

  3. 3

    如何将XML的一部分转换为数据框?(正确)

  4. 4

    如何将字符串的一部分转换为整数?

  5. 5

    如何将字符串的一部分转换为斜体?

  6. 6

    使用Jackson ObjectMapper将Json的一部分转换为HashMap

  7. 7

    如何将casperjs脚本的一部分转换为函数,以便可以多次使用

  8. 8

    如何使用PDFBox将页面的一部分呈现为图像?

  9. 9

    如何将xml的一部分转换为没有名称空间的新xml?

  10. 10

    如何将基于毫米的数字转换为表示米,厘米和毫米的一部分的数字?

  11. 11

    Java:将字符串转换为在 url 中使用作为 get 的一部分

  12. 12

    如何在aspx页面的一部分中打开HTML页面

  13. 13

    是否可以使ASP.NET页面使用不同的DOCTYPE呈现页面的一部分?

  14. 14

    如何在python中将api响应的一部分转换为完整的json

  15. 15

    如何设置构建环境变量以将Clang用作NDK的一部分?

  16. 16

    跳过视频的一部分,同时使用ffmpeg将其转换为图像

  17. 17

    HTML / CSS如何暂时突出显示页面的一部分

  18. 18

    如何在Python 3中隔离HTML页面的一部分

  19. 19

    HTML / CSS如何暂时突出显示页面的一部分

  20. 20

    如何仅将字符串的一部分呈现为HTML

  21. 21

    如何将 ASP.NET 控制器属性与当前 URL 的一部分绑定?

  22. 22

    使用ASP.NET Razor MVC仅包含部分视图的一部分

  23. 23

    如何使用 i18n 仅翻译 html 页面的一部分

  24. 24

    使用XSLT将XML文件转换为另一个XML文件,但是其中一部分代码无法正常工作

  25. 25

    使用XSLT将XML文件转换为另一个XML文件,但是其中一部分代码无法正常工作

  26. 26

    读取多个文本文件时,如何将文件名的一部分转换为变量?

  27. 27

    如何在不创建临时字符串的情况下将字符串的一部分转换为int / float / vector3等?

  28. 28

    我应该使用targetDataLine的哪一部分,以便通过FFT算法将音频转换为频率数据?

  29. 29

    我应该使用targetDataLine的哪一部分,以便通过FFT算法将音频转换为频率数据?

热门标签

归档