Chrome:如何以原始尺寸打印 PDF(100%,无缩放/缩小)

2023-12-21

今天我在 Chrome 的打印行为中遇到了一个奇怪的错误。 当我尝试使用 Chrome 打印动态创建的 PDF 时(也在火狐浏览器中),PDF 中的每个图像都会变小一点(8 毫米)。 在 Adob​​e Reader/Acrobat/MacOSX 默认打印机对话框中也不会发生这种情况。

让我详细解释一下到目前为止我的代码:

动态PDF:

I use prawn使用以下代码动态创建 PDF A4(横向格式):

require 'prawn'
require "prawn/measurement_extensions"

class CustomPdf < Prawn::Document

  def initialize(label) # A4
    super({
       :page_size =>  "A4", 
       :page_layout => :landscape, 
       :margin => 0, 
       :print_scaling => :none})

    image "my_image.png", :width => 213.mm, :at => [3.mm, 3.mm]
  end
end

PDF 中的嵌套图像:

嵌套在 PDF 中的图像的大小为213mm x 70mm with 300 DPI。像素:2515x827。

我使用 RMagick 创建图像,但大小、dpi 和到目前为止一切似乎都不错。所以暂时没有进一步的解释。

预期结果:

打印的 PDF 将显示宽度为 213 厘米的图像。

实际结果:

打印的 PDF 将显示宽度为 205 毫米的图像。

到目前为止我尝试过的

  • 设置prawn page_size低于 A4 的大小(因为图像也没有 A4 大......)。
  • 玩弄print_scaling(有3种模式,:none, :AppDefault, :something_except_the_other_ones (在这里阅读更多相关信息) https://github.com/prawnpdf/prawn/blob/master/manual/document_and_page_options/print_scaling.rb
  • 给图像固定高度(70mm)
  • 尝试使用由Chrome Printer Dialog
  • 在 Windows Chrome 下测试(那里是 213mm,奇怪),也许它与 MacOSX Chrome 有关?
  • 不幸的是在 IE11 (205mm) 下测试。

这些都没有做任何事情。 我查看了 Chromium 的 Bugreporters,发现有 2 个人可能和我有同样的问题:

  • https://code.google.com/p/chromium/issues/detail?id=97972 https://code.google.com/p/chromium/issues/detail?id=97972
  • https://code.google.com/p/chromium/issues/detail?id=67091 https://code.google.com/p/chromium/issues/detail?id=67091

最后一个是 2013 年触及的,但没有人说任何对我的案例真正有用的东西。


Examples

Here is an example 300 DPI image which width is 2515 px: Example Image If Imgur changes the resolution to 72, you can pull the example image from the repository (link: https://github.com/posixpascal/chrome-printing-bug/blob/master/example.png https://github.com/posixpascal/chrome-printing-bug/blob/master/example.png)

这是一个 PDF 示例

直接链接: 直接链接 https://github.com/posixpascal/chrome-printing-bug/raw/master/output.pdf

GitHub PDF 查看器: https://github.com/posixpascal/chrome-printing-bug/blob/master/output.pdf https://github.com/posixpascal/chrome-printing-bug/blob/master/output.pdf


Github 存储库,包含示例图像和 pdf 生成器脚本 https://github.com/posixpascal/chrome-printing-bug https://github.com/posixpascal/chrome-printing-bug

不幸的是我无法改变图像的宽度(甚至不能改变像素)。 有人遇到过同样的问题吗?

有任何想法吗?我想这是一个有趣的谜题......:x


当我使用 Chrome 打印普通图像或网站时,会出现“使用原始尺寸”或“100% 尺寸”选项,而打印 PDF 时则没有这些选项。

我还尝试制作网页而不是 PDF 并将图像宽度设置为213mm这也不起作用......


这是我使用Windows系统和Mac(Yosemite)看到的测试结果

窗户:

在 Chrome 中打印 PDF:完美 - 213 毫米

在 IE 中打印:完美 - 213 毫米。之前这个数字较少(大约 205-210 左右)。因此更改了默认打印设置:

选择打印选项 -> 使用的打印对话框 -> 选择打印机 -> 打印首选项 -> 高级 -> 纸张尺寸 -> 手动更改缩放 -> 测试 A4、A5 等。-> A5 (出于某种原因给了我 213 )

所以我转向了Mac。

Mac 调查结果:

更改纸张尺寸并进行相同测试:尺寸为 213 毫米。

这是这样完成的:苹果打印 https://files.support.epson.com/htmldocs/wf7010/wf7010ug/source/printers/source/printing_software/printing_mac_consumer/tasks/selecting_basic_mac_105_106_107.html

所以很自然地,我测试了直接通过 Chrome 打印它,而不是通过 OSX 打开 PDF -> 以 205 毫米打印。

在 :appdefault -> 以 213 毫米打印的虾上使用 printscaling 进行测试。

在 Firefox 上进行了相同的测试 -> 低于 205 - 210 毫米。

所以我真的不知道这是否是 Chrome 的问题,因为它在 Firefox 上对我来说表现得很奇怪。

所以最终,这些是我在测试代码后的发现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome:如何以原始尺寸打印 PDF(100%,无缩放/缩小) 的相关文章

随机推荐

  • NEAT:指定

    我试图自己使用原始论文来实现整洁 但被卡住了 假设在上一代我有以下物种 Specie 1 members 100 avg score 100 Specie 2 members 150 avg score 120 Specie 3 membe
  • 装饰器不支持函数调用,但调用了“FileTypeModule”

    尝试设置ngx formly material 文件 https github com alEX860111 ngx formly material file 但我得到一个错误 装饰器不支持函数调用 但调用了 FileTypeModule
  • Android的RelativeLayout似乎坏了

    我正在开发一个布局 其中使用带有RelativeLayout 行项目的ListView 行项目本身无法正确显示 问题是 txtVideoDuration TextView 绘制在行项目的顶部而不是底部 因此 txtVideoTitle 的高
  • 我什么时候应该使用 C# 的 LINQ? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在学习 C 我发现 LINQ 非常有趣 然而 令我困惑的是 我想不出使用 LINQ 会有巨大帮助的场景 因为在代码中复制 LINQ 功能实际
  • 在 ruby​​ 中杀死一个名为 using open3 的进程

    我正在使用命令行程序 它的工作原理如下 ROUTE TO FOLDER app lt long text If 长文本 使用参数编写 app 需要 那么它将用结果填充一个文本文件 如果没有 它将连续用点填充文本文件 我无法处理或修改 app
  • 使用 jQuery 检测字体大小(以像素为单位)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 如何使用
  • 查找 gitignore 文件和导致文件被 git 忽略的行[重复]

    这个问题在这里已经有答案了 如何找到导致文件被 git 忽略的 gitignore 文件和行 从存储库根目录尝试以下操作 find gitignore git info exclude name gitignore exec cat les
  • 找不到酶适配器反应16的声明文件?

    一段时间以来 我一直在使用 Enzyme 来测试 React 应用程序中的组件 几周内第一次更新我的软件包后 我开始从测试中收到错误 FAIL src tests title test ts Testing title component
  • ndim 在 numpy 中的工作

    import numpy as np gt gt gt a np array 1 2 3 4 gt gt gt a array 1 2 3 4 gt gt gt a ndim 1 维度如何为 1 我给出了一个包含 3 个变量的方程 这意味着
  • 清除表单字段并将详细信息保存在 Angular JS 中

    我使用 Angular js 创建了一个简单的表单 当用户输入详细信息并提交时 这些值将保存在控制台中 但即使单击提交按钮后 这些值仍保留在字段中 我现在想在控制台中保存各个字段的详细信息 并且需要在单击提交按钮后清除字段 以便可以输入下一
  • Backbone.js 不会发出跨主机请求?

    我一直在 Chrome 控制台中使用 Backbone 并遇到了我无法解决的跨域问题 我连接的主机可能正确实现了 CORS 因为原始 XHR 请求返回了预期的 JSON var http new XMLHttpRequest http op
  • 在react中调用onchange事件中的两个函数

    我正在尝试使用 onChange 事件调用两个函数 以在反应中动态搜索功能 在第一个函数中 我设置一个值的状态 在第二个函数中 我必须调用该值并执行该函数 我无法同时调用两个函数 我不会使用此示例代码添加模拟 JSON handleChan
  • 获取 API 产生“TypeError:无法获取”

    我在 Chrome 上 看到这个奇怪的错误 TypeError failed to fetch 是的 这就是整个错误消息 这是生成错误的代码 fetch logoUrl method put headers Content Type ima
  • SQL Access 2010 按日期查询“条件表达式中的数据类型不匹配”。

    我尝试在 Access 2010 中进行查询 但它不断向我显示此错误 条件表达式中的数据类型不匹配 查询很简单 SELECT FROM mytable WHERE date 23 07 2013 想知道为什么吗 SELECT FROM my
  • 创建双镜像三角形

    我需要帮助制作这样的镜像三角形 我可以单独获得每一项 但无法将它们组合起来 public static void main String args for int i 1 i lt 5 i for int j 0 j lt i j Syst
  • 从字符串中删除所有非小写字符

    我明白给定一个字符串 str str replace s g 将删除字符串中的所有空格 如何从字符串中删除所有非小写字母的字符 你可以 str replace a z g
  • Scala - 大小写匹配部分字符串

    我有以下内容 serv match case chat gt Chat Server Relay Message serv case gt null 问题是有时我还会在 serv 字符串末尾传递一个附加参数 因此 var serv chat
  • 微风:getEntityGraph 中出现意外错误

    我使用 getEntityGraph 扩展 它工作正常 但在以下情况除外 添加新实体 不要保存它并在实体上调用 setDeleted 通过将实体和 np 集合作为参数传递来调用 getEntityGraph 当调用 makePathSegm
  • 如何将 Django 模型从 mysql 迁移到 sqlite(或任意两个数据库系统之间)?

    我在生产环境中有一个使用 MySQL 的 Django 部署 我想使用 SQLite 进行进一步的开发 因此我想将现有数据导入到 SQLite 数据库中 我 有一个shell脚本here https stackoverflow com qu
  • Chrome:如何以原始尺寸打印 PDF(100%,无缩放/缩小)

    今天我在 Chrome 的打印行为中遇到了一个奇怪的错误 当我尝试使用 Chrome 打印动态创建的 PDF 时 也在火狐浏览器中 PDF 中的每个图像都会变小一点 8 毫米 在 Adob e Reader Acrobat MacOSX 默