打印“角度材质”对话框时不工作后的CSS分页符

打印“角度材质”对话框时不工作后的CSS分页符,css,angular-material,Css,Angular Material,我有一个要打印的“角度材质”对话框 我在这里()放置了一个分页符div,如下所示: @media print { .pagebreak { page-break-before: always; } } 当我这样做时,分页符被忽略 我已经通过将完全相同的HTML放在不同的非对话页面上测试了打印,它确实按照预期工作 有没有一种方法可以在打印时超越对话框css,从而允许分页符工作?我认为这与盒子尺寸有关,正如尤里在这里的回答所示:如图所示 出于兼容性原因,浏览器应将旧的分页符之前属性视为分页符之

我有一个要打印的“角度材质”对话框

我在这里()放置了一个分页符div,如下所示:

@media print {
  .pagebreak { page-break-before: always; }
}
当我这样做时,分页符被忽略

我已经通过将完全相同的HTML放在不同的非对话页面上测试了打印,它确实按照预期工作

有没有一种方法可以在打印时超越对话框css,从而允许分页符工作?我认为这与盒子尺寸有关,正如尤里在这里的回答所示:

如图所示

出于兼容性原因,浏览器应将旧的分页符之前属性视为分页符之前的别名

“之前分页符”是一个旧属性,请尝试启用“之前分页符”

出于兼容性原因,浏览器应将旧的分页符之前属性视为分页符之前的别名


“之前分页符”是一个遗留属性,请尝试使用“之前分页符”

我以下面的方式在角度组件中使用了页面制动器。在:始终内部div标记之前应用样式
页面制动,这需要在表标记中使用。每当您要停止页面时,请使用表标记分隔。
希望能有帮助

app.component.html:
        <button mat-icon-button class="float-right" tabindex="-1">
         <mat-icon (click)="printROE()">print</mat-icon> </button>
        
        app.component.ts:
            printROE(): void {
            const w = window.open();
            
            let printHtml = '<html><head><style>.inner-text{font-family: "Open Sans", sans-serif;font-size: 10pt;text-align: justify;}' +
                  '</style></head><body style="position:relative;">';
            
             printHtml += '<table width="100%" class="inner-text"><thead><title style="font-size:10pt;" align="center"></title></thead><tbody></tbody><tfoot></tfoot></table>';
            
             reportHtml += '<table width="100%" class="inner-text"><tr><div style="page-break-before: always;"></td></tr> </div></tr></table>';
            
            printHtml += reportHtml + '</body><footer></footer></html>';
             w.document.write(printHtml);
                w.document.close();
            
                setTimeout(() => {
                  w.focus();
                  w.print();
                  w.close();
                }, 900);
              }
app.component.html:
印刷品
app.component.ts:
printROE():void{
const w=window.open();
让printHtml='.内部文本{字体系列:“开放式SAN”,无衬线;字体大小:10pt;文本对齐:对齐;}'+
'';
printHtml+='';
reportHtml+='';
printHtml+=reportHtml+'';
w、 document.write(打印HTML);
w、 document.close();
设置超时(()=>{
w、 焦点();
w、 打印();
w、 close();
}, 900);
}

我以下面的方式在角组件中使用了页面制动器。在:始终
内部div标记之前应用样式
页面制动,这需要在表标记中使用。每当您要停止页面时,请使用表标记分隔。
希望能有帮助

app.component.html:
        <button mat-icon-button class="float-right" tabindex="-1">
         <mat-icon (click)="printROE()">print</mat-icon> </button>
        
        app.component.ts:
            printROE(): void {
            const w = window.open();
            
            let printHtml = '<html><head><style>.inner-text{font-family: "Open Sans", sans-serif;font-size: 10pt;text-align: justify;}' +
                  '</style></head><body style="position:relative;">';
            
             printHtml += '<table width="100%" class="inner-text"><thead><title style="font-size:10pt;" align="center"></title></thead><tbody></tbody><tfoot></tfoot></table>';
            
             reportHtml += '<table width="100%" class="inner-text"><tr><div style="page-break-before: always;"></td></tr> </div></tr></table>';
            
            printHtml += reportHtml + '</body><footer></footer></html>';
             w.document.write(printHtml);
                w.document.close();
            
                setTimeout(() => {
                  w.focus();
                  w.print();
                  w.close();
                }, 900);
              }
app.component.html:
印刷品
app.component.ts:
printROE():void{
const w=window.open();
让printHtml='.内部文本{字体系列:“开放式SAN”,无衬线;字体大小:10pt;文本对齐:对齐;}'+
'';
printHtml+='';
reportHtml+='';
printHtml+=reportHtml+'';
w、 document.write(打印HTML);
w、 document.close();
设置超时(()=>{
w、 焦点();
w、 打印();
w、 close();
}, 900);
}

能否添加StackBlitz起点?我在dev mozilla上读到:此属性已被break after属性替换。-->链接中断后:。希望有帮助you@MaGiO这不起作用-很抱歉反应太慢-你可以添加StackBlitz起点吗?我在dev mozilla上读到:此属性已被break after属性替换。-->链接中断后:。希望有帮助you@MaGiO这不起作用-为反应慢而抱歉-因冠状动脉病而病倒这不起作用-为反应慢而抱歉,为冠状动脉病而病倒:(这不起作用-为反应慢而抱歉,为冠状动脉病而病倒:(