Html 跨设备的Chrome不一致打印

Html 跨设备的Chrome不一致打印,html,css,google-chrome,pdf,printing,Html,Css,Google Chrome,Pdf,Printing,我正在尝试将动态高度的HTML文档打印为PDF。该文档由各种输入和文本区域组成,我使用flexbox进行大部分布局。我一直在做一些手工测试,用文本填充一些输入或文本区域,然后打印成PDF。预览版在我的笔记本电脑上有22页。然后我在平板电脑和台式电脑上测试了完全相同的文件。创建的页面数量不一致,有时会被大量页面关闭。例如,我的笔记本电脑打印了22页,平板电脑打印了28页。为什么?如何在不同的设备上实现一致的打印?我希望能够在PDF中为完全相同的HTML内容提供完全相同的物理尺寸,无论我打印的是什么

我正在尝试将动态高度的HTML文档打印为PDF。该文档由各种输入和文本区域组成,我使用flexbox进行大部分布局。我一直在做一些手工测试,用文本填充一些输入或文本区域,然后打印成PDF。预览版在我的笔记本电脑上有22页。然后我在平板电脑和台式电脑上测试了完全相同的文件。创建的页面数量不一致,有时会被大量页面关闭。例如,我的笔记本电脑打印了22页,平板电脑打印了28页。为什么?如何在不同的设备上实现一致的打印?我希望能够在PDF中为完全相同的HTML内容提供完全相同的物理尺寸,无论我打印的是什么设备或屏幕分辨率或屏幕大小。

在设备之间进行完全相同的打印的唯一方法是在服务器上使用PhantomJS之类的工具生成PDF。否则,你将永远受设备的摆布。例如,iOS上的Chrome仍然是webkit而不是blink。你知道为什么这个设备如此重要吗?是不是Chrome根据设备的分辨率计算内容的大小?Chrome for iOS可能只是使用苹果的UIWebView提供的默认打印,因此完全不受谷歌的控制(只是猜测)。为web打印就像为web设计一样,您尽可能地描述您的站点,但各个浏览器/设备组合总是会有差异。这是网络的本质。这就是为什么服务器端生成是唯一可以确定的方法。