2017-07-21 27 views
1

我有一个Google Apps脚本“Web App”。我正在尝试为它生成的2页仪表板创建一个分页符。Google Web应用HTML分页符不起作用

我已经发布了一个基本的web应用程序发布here这个问题,这里是整个代码。

<body> 
<div>page1</div> 
<div class="break"></div> 
<div>page2</div> 
</body> 

<style> 
.break{ 
display:block; 
page-break-before:always; 
} 
</style> 

是因为网络应用程序显示在一个单独的iframe中,所以不可能有中断吗?

如果是这样 - 是否可以拆分为多个Iframe?

或者是我想念的东西简单。

编辑:我现在也尝试

div.break{ 
display:block; 
page-break-before:always; 
} 

而且

@media print { 
div.break{ 
display:block; 
page-break-before:always; 
} 
} 

,但这并没有改变任何东西。我试过Chrome & IE,并且都忽略分页符。

编辑2:

我认为这必须是一个iframe的问题,因为如果我在我的代码复制到一个纯文本文件,并打开它在Chrome会打印2页。因此,在Apps脚本中使用它必须忽略中断,这可能是因为整个事件都在一个iframe中。嗯...

谢谢

回答

2

您是对的,您的html由Google Apps脚本在iframe中显示。当您尝试打印网页应用程序页面时,此iframe无法以多页打印。

解决方法:选择你的web应用程序里面的一些文字,例如第1页,在iframe上下文来获取,然后打打印...,将打印只是iframe您在选定的文本:

enter image description here

编辑:

您可以添加“打印...”按钮到您的Web应用程序页面,使其更方便用户使用FR iendly:

<div>page1</div> 
<div class="break"></div> 
<div>page2</div> 

<!-- added print button (with class "hide-on-print" to not display it when printed) --> 
<button id="print" class="hide-on-print">Print...</button> 

<script> 
// open print dialog on button click 
document.getElementById('print').addEventListener('click', function(){ 
    window.print(); 
}); 
</script> 

<style> 
@media print { 
    .hide-on-print { 
     display: none 
    } 
    .break{ 
     display:block; 
     page-break-before:always; 
    } 
} 
</style> 
+0

哦,天啊,真奇怪!为什么地球上这样做呢。它也适用于我的现场仪表板。有点奇怪,我不得不告诉我的用户在打印之前突出标题,但如果这是唯一的选择...... – MrPea

+0

@MrPea你可以在你的web应用程序页面添加打印按钮的权利,请检查答案编辑。 – Kos

+0

ahhh伟大的思想家都认为。我做了完全一样的。我会把你的答案标记为正确的,而不是我的,因为没有你的见解我就不会这么做。 – MrPea

0

请使用@media print {div.break {}}试试这个。

+0

谢谢。不幸的是,这并没有使它工作 – MrPea

+0

再次感谢。仍然没有快乐。我编辑了这个问题,以便您可以看到整个代码和指向测试发布应用程序的链接,以查看它无法正常工作。 – MrPea

+0

我认为这是对Apps脚本Web应用程序及其Iframes使用的限制。正如我将代码放入纯文本文件时一样正常工作。 – MrPea

1

所有功劳首先必须去科斯的指出,如果我想强调在iframe文本它,然后打印正确 - 我从没想过要尝试

所以现在我我添加了一个小函数,只打印iframe而不是页面本身。

function printall() { 
window.print(); 
window.frames[0].print(); 
} 

我已经为该功能的仪表板添加了一个按钮。我会确保用户不使用正常的打印菜单。