从 HTML 和 CSS 创建 Google 云端硬盘文档模板
Create Google Drive Document template from HTML and CSS
我一直在将 google 驱动器连接器实施到 Web 应用程序中。
基本上,当页面中触发已知事件时,它会启动一个与 'drive-connector' 通信的 webhook,以生成文档并用一些信息填充它。
此 'drive-connector' 是一个自定义 PHP,它使用 Google 驱动器 API 创建文件夹和文件。我能够创建文件夹和文件并为文件提供所需的内容。
为了将内容添加到驱动器文档中,我使用了 API 允许的 HTML 模板 (https://developers.google.com/drive/api/v3/manage-uploads),在上传之前,我更改了模板中的一些变量使用来自 webhook 的数据,目前一切正常。
问题
我可以上传 HTML 文档,一旦我替换了所需数据的变量,但它必须非常简单并且没有太多 css。当我尝试从一个更实用、更漂亮的模板上传文档时 Google Drive 不能识别很多 CSS 并且它改变了文档的外观。我不能放页眉或页脚。许多字段从原来的位置移动,使整个文档变得一团糟。
为了让我更容易替换模板中的变量,我选择使用 HTML 无论如何,我开始认为使用 .doc 或 .odt 模板会更容易(我需要使用图书馆才能做到这一点)
我的问题
使用 HTML 文件作为 google 驱动器文件的模板好吗?还是我应该改变我尝试实现此目标的方式?
提前致谢
观察: 因为我的代码真的没有问题所以我没有放任何代码行,但是如果你需要 HTML模板猜猜有没有问题告诉我
编辑 1 -> 我发现了这个:How can developers edit a Google Doc programmatically? Is there a Docs API?
这不是我问题的答案,但似乎对我的问题有一些解决方案。无论如何,我不太清楚 post,我还没有找到合适的文档,所以我仍在努力获得它。
编辑 2-> 再次阅读文档我认为我可以先在 google 驱动器中制作文档,然后使用 API 将其下载为 HTML,这样我将拥有模板,但我不确定是否可以根据需要修改它。 如果可行,我将回答我自己的问题并且关闭 post
After trying this I could not upload the HTML which was exported from the google doc. The error that the google api gives me is: code 400 message: bad request
我终于找到解决方法了!
无论如何,这不是一个非常有效和好的方法。
正如我在 EDIT 2 中解释的那样,我尝试手动下载在 google 驱动器中创建的 google 驱动器文档并导出它有 HTML,所以我有模板在 HTML。然后我为将来的动态替换添加了我的变量,一切都或多或少地工作正常。
我解决了错误请求修改文件的问题,似乎你不能在驱动器中两次拥有完全相同的文件,在更改一些代码行后开始工作。
无论如何,我不认为这是做我想做的事情的明确和好的方法,所以如果有人知道实现此目标的更好方法,我将保持 post 开放。
我一直在将 google 驱动器连接器实施到 Web 应用程序中。
基本上,当页面中触发已知事件时,它会启动一个与 'drive-connector' 通信的 webhook,以生成文档并用一些信息填充它。
此 'drive-connector' 是一个自定义 PHP,它使用 Google 驱动器 API 创建文件夹和文件。我能够创建文件夹和文件并为文件提供所需的内容。
为了将内容添加到驱动器文档中,我使用了 API 允许的 HTML 模板 (https://developers.google.com/drive/api/v3/manage-uploads),在上传之前,我更改了模板中的一些变量使用来自 webhook 的数据,目前一切正常。
问题
我可以上传 HTML 文档,一旦我替换了所需数据的变量,但它必须非常简单并且没有太多 css。当我尝试从一个更实用、更漂亮的模板上传文档时 Google Drive 不能识别很多 CSS 并且它改变了文档的外观。我不能放页眉或页脚。许多字段从原来的位置移动,使整个文档变得一团糟。
为了让我更容易替换模板中的变量,我选择使用 HTML 无论如何,我开始认为使用 .doc 或 .odt 模板会更容易(我需要使用图书馆才能做到这一点)
我的问题
使用 HTML 文件作为 google 驱动器文件的模板好吗?还是我应该改变我尝试实现此目标的方式?
提前致谢
观察: 因为我的代码真的没有问题所以我没有放任何代码行,但是如果你需要 HTML模板猜猜有没有问题告诉我
编辑 1 -> 我发现了这个:How can developers edit a Google Doc programmatically? Is there a Docs API?
这不是我问题的答案,但似乎对我的问题有一些解决方案。无论如何,我不太清楚 post,我还没有找到合适的文档,所以我仍在努力获得它。
编辑 2-> 再次阅读文档我认为我可以先在 google 驱动器中制作文档,然后使用 API 将其下载为 HTML,这样我将拥有模板,但我不确定是否可以根据需要修改它。 如果可行,我将回答我自己的问题并且关闭 post
After trying this I could not upload the HTML which was exported from the google doc. The error that the google api gives me is: code 400 message: bad request
我终于找到解决方法了!
无论如何,这不是一个非常有效和好的方法。
正如我在 EDIT 2 中解释的那样,我尝试手动下载在 google 驱动器中创建的 google 驱动器文档并导出它有 HTML,所以我有模板在 HTML。然后我为将来的动态替换添加了我的变量,一切都或多或少地工作正常。
我解决了错误请求修改文件的问题,似乎你不能在驱动器中两次拥有完全相同的文件,在更改一些代码行后开始工作。
无论如何,我不认为这是做我想做的事情的明确和好的方法,所以如果有人知道实现此目标的更好方法,我将保持 post 开放。