JBr*_*uce 6 html css pdf google-apps-script
我正在尝试通过 google-apps-script 从 HTML 页面创建 PDF,并将页面大小设置为“ Letter ”而不是“ A4 ”(8.26 X 11.69)。我检查了许多相关的帖子,实际上已经弄清楚了背景颜色、图像等...相关的从 PDF 中的 HTML 背景颜色创建 PDF,但我无法对页面大小进行任何更改。
function htmlToPDF() {
var html = "<h1>Hello world</h1>"
+ "<p>This is just a paragraph"
+ "<p style='color:red;'>I am red</p>"
+ "<p style='color:blue;'>I am blue</p>"
+ "<p style='font-size:50px;'>I am big</p>"
+ "<table style='border-collapse: collapse; width: 698px; height: 115px; background-color: #C5D9F1;' border='0' cellpadding='10'>"
+ "<tbody>"
+ "<tr>"
+ "<td style='padding: 5px;background-color:powderblue;' nowrap='nowrap'><strong>Bold with background-color:</strong></td>"
+ "</tr>"
+ "</tbody>"
+ "</table>";
var blob = Utilities.newBlob(html, "text/html", "text.html");
var pdf = blob.getAs("application/pdf");
DriveApp.createFile(pdf).setName("text.pdf");
MailApp.sendEmail("[your email here ]", "PDF File", "",
{htmlBody: html, attachments: pdf});
}
Run Code Online (Sandbox Code Playgroud)
我尝试了几种设置尺寸的方法
1)添加以下内容将边距调整为零
<style> @page { margin: 0; }
Run Code Online (Sandbox Code Playgroud)
但按如下方式添加宽度和高度没有任何作用。
@page { margin: 0; width: 216mm; height: 279mm }
Run Code Online (Sandbox Code Playgroud)
和/或
@media print { margin: 0; width: 600px; height: 800px }
Run Code Online (Sandbox Code Playgroud)
2)我什至尝试在创建 HTML 输出时调整宽度和高度,如下所示
var h = HtmlService.createHtmlOutput(myHTML);
h.setWidth(2550);
h.setHeight(3300);
Run Code Online (Sandbox Code Playgroud)
谢谢...
The*_*ter 14
正如文档中所写,
您无法使用 @page 更改所有 CSS 属性。您只能更改文档的边距、孤行、寡行和分页符。更改任何其他 CSS 属性的尝试将被忽略。
但是,您可以使用高度实验性的 size属性:
<style>
@page {
margin: 0;
size: letter; /*or width then height 150mm 50mm*/
}
</style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28687 次 |
| 最近记录: |