将Google表格导出为PDF时,我如何访问参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Google表格导出为PDF时,我如何访问参数相关的知识,希望对你有一定的参考价值。

[我想做的是将Google表格导出为PDF,而不显示网格线。我在网上看到代码样例,说明如何使用类似url的方式访问该参数:

  var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export"+
                                                        "?format=pdf&"+
                                                        "size=0&"+
                                                        "fzr=true&"+
                                                        "portrait=false&"+
                                                        "fitw=true&"+
                                                        "gridlines=false&"+
                                                        "printtitle=true&"+
                                                        "sheetnames=true&"+
                                                        "pagenum=CENTER&"+
                                                        "attachment=true";

但是我正在使用以下代码,该代码未利用网址:

       private static void DownloadfileFromGDrive(DriveService service, string fileId, string filePath)
       {
           var request = service.Files.Export(fileId, "application/pdf");

           using (var memoryStream = new MemoryStream())
           {
               request.MediaDownloader.ProgressChanged += (IDownloadProgress progress) =>
               {
                   switch (progress.Status)
                   {
                       case DownloadStatus.Downloading:
                           Debug.WriteLine(progress.BytesDownloaded);
                           break;
                       case DownloadStatus.Completed:
                           Debug.WriteLine("Download Complete");
                           break;
                       case DownloadStatus.Failed:
                           Debug.WriteLine("Download Failed");
                           break;
                   }
               };

               request.Download(memoryStream);

               using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write))
               {
                   fileStream.Write(memoryStream.GetBuffer(), 0, memoryStream.GetBuffer().Length);
               };
           }
       }

如何从代码中访问这些参数?

答案

这个答案怎么样?

不幸的是,当使用用于导出为PDF格式的查询参数时,service.Files.Export(fileId, "application/pdf")无法用于这种情况。在这种情况下,需要使用访问令牌下载PDF文件。这种情况的终结点如下。

端点:

var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export"+
                                                      "?format=pdf&"+
                                                      "size=0&"+
                                                      "fzr=true&"+
                                                      "portrait=false&"+
                                                      "fitw=true&"+
                                                      "gridlines=false&"+
                                                      "printtitle=true&"+
                                                      "sheetnames=true&"+
                                                      "pagenum=CENTER&"+
                                                      "attachment=true&"+
                                                      "access_token=###"; // Added
  • 当您将此端点请求为GET方法时,可以检索反映查询参数的PDF数据。
  • 当然,您也可以将访问令牌而不是查询参数添加到请求标头中。

参考:

如果这不是您想要的方向,我很抱歉。

以上是关于将Google表格导出为PDF时,我如何访问参数的主要内容,如果未能解决你的问题,请参考以下文章

如何将单张 PDF 文件直接下载到我的本地设备(不导出到 Google Drive)?

隐藏的工作表会导致Google表格的导出工作表作为PDF网址的输出损坏

导出为 PDF 时如何在文本字段中包含图像和表格?

LO Writer:PDF 导出时表格边框消失 [关闭]

将表格结果从联系表格 7 导出为 PDF (fPDF)

将访问报告导出为 PDF