2017-07-21 55 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(); 
} 

我已經爲該功能的儀表板添加了一個按鈕。我會確保用戶不使用正常的打印菜單。