欢迎来到塞巴斯蒂安的个人博客。我想分享有关云服务和开发的各种主题的文章和教程。
将 HTML 渲染为 PDF 格式的最便宜、最可靠的方法
处理网页的必要任务之一是将这些页面保存为PDF格式。我们称之为 html 渲染。 由于网页可能包含文本,图像,嵌入字体,超链接,签名等,因此可靠的渲染器必须保持PDF格式的布局。此外,渲染器应一次转换大量网页。 Web Renderer(WR)是一种云服务,可让您成功,快速,轻松地将HTML文档呈现为PDF文档或PNG图像。就个人而言,由于服务的可靠性,我已经积极使用它超过10年。WR 为开发人员提供同步和异步方法。由于转换生命周期的性质,我强烈建议使用异步方法,并绕过网关平台的连接超时限制。 异步方法非常易于实现。您只需要将 HTML 内容发送到 SubmitPDFFromHTMLTask 或 SubmitImageFromHTMLTask API 方法即可接收任务标识符作为响应。还有SubmitPDFFromUrlTask和SubmitImageFromUrlTask方法,用于从网页的uri呈现PDF或图像。 收到任务标识符后,您需要通过调用 GetRenderingTaskStatus 方法检查任务状态。只要任务状态等于“Waiting”,您需要在几秒钟延迟后调用相同的方法。一旦你从GetRenderingTaskStatus方法收到“Completed”,你可以中断循环并调用DownloadResult方法来下载最终文件。下图说明了渲染工作流程。 步骤 1.获取您的令牌 若要进行 API 调用,需要有效的访问令牌。我们将在 http 标头中发送访问令牌。您可以通过为 云 API 创建应用来获取访问令牌. 步骤2.实现和迭代异步方法 WR 接受 HTTP 表单发布请求。这是2000年代初流行的方法。在这里,我列出了各种编程语言的客户端实现。 如何使用Python将HTML转换为PDF 如何使用 C# 将 HTML 转换为 PDF 如何使用Java将HTML转换为PDF 如何使用 Visual Basic 将 HTML 转换为 PDF 如何使用 Go Lang 将 HTML 转换为 PDF
将文档转换为PDF格式的经济可靠的方法
处理文档的一个流行和必要的任务是将这些文件保存为PDF格式。我们称之为文档转换。文档转换是将文件类型从一种文档格式转换为另一种文档格式。 由于文档可能包含文本,图像,嵌入字体,超链接,签名等,因此可靠的转换器必须保持目标格式的布局。此外,转换器应一次转换大量文档。 Document Conversion Suite(DCS)是一种云服务,可让您成功,快速,轻松地将文档转换为最流行的格式,反之亦然。就个人而言,由于服务的可靠性,我已经积极使用它超过10年。DCS 为开发人员提供同步和异步方法。由于转换生命周期的性质,我强烈建议使用异步方法,并绕过网关平台的连接超时限制。 异步方法非常易于实现。您只需将源文档发送到 SubmitTIFFConversionTask 或 SubmitPDFConversionTask API 方法即可接收任务标识符作为响应。还有SubmitDOCXConversionTask方法将PDF文档转换为可编辑的Microsoft Word文档。 收到任务标识符后,您需要通过调用 GetConversionTaskStatus 方法检查任务状态。只要任务状态等于“正在等待”,您需要在几秒钟延迟后调用相同的方法。一旦您从GetConversionTaskStatus方法收到“完成”,您就可以中断循环并调用DownloadResult方法来下载最终文档文件。转换工作流程如下图所示。 步骤 1.获取您的令牌 若要进行 API 调用,需要有效的访问令牌。我们将在 http 标头中发送访问令牌。您可以通过为云 API 创建应用程序来获取访问令牌. 步骤2.实现和迭代异步方法 DCS 接受 HTTP 表单发布请求。这是2000年代初流行的方法。在这里,我列出了各种编程语言的客户端实现。 如何使用Python将文档转换为PDF 如何使用 CSharp 将文档转换为 PDF 如何使用 Java 将文档转换为 PDF 如何使用 Visual Basic 将文档转换为 PDF 如何使用 Go Lang 将文档转换为 PDF 如何使用 PHP 将文档转换为 PDF
如何使用 C# 将 HTML 转换为 PDF
在本教程中,我们将介绍如何实现 Web 呈现器的异步方法。您只需要将 HTML 内容发送到 SubmitPDFFromHTMLTask 或 SubmitImageFromHTMLTask API 方法即可接收任务标识符作为响应。还有SubmitPDFFromUrlTask和SubmitImageFromUrlTask方法,用于从公共Web Uri呈现PDF或图像。 收到任务标识符后,您需要通过调用 GetRenderingTaskStatus 方法来检查任务状态。只要任务状态等于“Waiting”,您需要在几秒钟延迟后调用相同的方法。一旦您从 GetRenderingTaskStatus 方法收到“Completed”,您就可以调用 DownloadResult 方法来下载最终文件。可以使用下面的 C# 实现。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 async Task<string> SubmitPDFFromHTMLTask(string htmlContent, string uri, string rapidApiKey) { using (HttpClient httpClient = new HttpClient()) { using (MultipartFormDataContent form = new MultipartFormDataContent()) { form....
如何使用 CSharp 将文档转换为 PDF
在本教程中,我们将介绍如何实现文档转换套件的异步方法。您只需将源文档发送到 SubmitTIFFConversionTask 或 SubmitPDFConversionTask API 方法即可接收任务标识符作为响应。还有SubmitDOCXConversionTask方法将PDF文档转换为可编辑的Microsoft Word文档。 收到任务标识符后,您需要通过调用 GetConversionTaskStatus 方法检查任务状态。只要任务状态等于“Waiting”,您需要在几秒钟延迟后调用相同的方法。一旦您从GetConversionTaskStatus方法收到“Completed”,您可以调用DownloadResult方法来下载最终文档文件。可以使用下面的 C# 实现。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 async Task<string> SubmitPdfConversionTask(string filePathToConvert, string rapidApiKey) { using (HttpClient httpClient = new HttpClient()) { using (MultipartFormDataContent form = new MultipartFormDataContent()) { form....
如何使用 Go Lang 将 HTML 转换为 PDF
在本教程中,我们将介绍如何实现 Web 呈现器的异步方法。您只需要将 HTML 内容发送到 SubmitPDFFromHTMLTask 或 SubmitImageFromHTMLTask API 方法即可接收任务标识符作为响应。还有SubmitPDFFromUrlTask和SubmitImageFromUrlTask方法,用于从公共Web Uri呈现PDF或图像。 收到任务标识符后,您需要通过调用 GetRenderingTaskStatus 方法来检查任务状态。只要任务状态等于“Waiting”,您需要在几秒钟延迟后调用相同的方法。一旦你从GetRenderingTaskStatus方法收到“Completed”,你可以调用DownloadResult方法来下载最终文件。您可以使用下面的 Go Lang 实现。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 package main import ( "bytes" "errors" "fmt" "io" "mime/multipart" "net/http" "os" "time" ) func createReqBody(htmlContent string, uri string, pageLabel string, useCompression string, messageLabel string, browserHeight string, browserWidth string) (string, io....