当前位置: 首页 > news >正文

iOS 系统中使用 webView 打印 html 的打印边距问题

需求是使用系统提供的打印功能将HTML代码打印出来

1、使用CSS @page 设置边距(iOS不生效)

@page {margin: 0;padding: 0;size: A6 portrait;
}

在 Android 中边距设置生效的,但是在 iOS 系统使用CSS @page规则是不生效的

当从 iOS 系统打印网页时,我试图删除或减少页边距,尝试过@page 指令的各种形式比如下面 MDN 所写的,但没有产生任何效果。
https://developer.mozilla.org/zh-CN/docs/Web/CSS/@page

2、在 iOS 原生代码中修改页边距

 UIViewPrintFormatter *formatter = [webView viewPrintFormatter];webView.hidden = true;formatter.perPageContentInsets = UIEdgeInsetsMake(20, 15, 0, 0);UIPrintPageRenderer *renderer = [[UIPrintPageRenderer alloc] init];renderer.headerHeight = 0;renderer.footerHeight = 0;[renderer addPrintFormatter:formatter startingAtPageAtIndex:0];printController.printPageRenderer = renderer;

formatter.perPageContentInsets = UIEdgeInsetsMake(20, 15, 0, 0);
这行代码设置每页内容的内边距(即打印内容与页面边缘之间的距离)。UIEdgeInsetsMake 方法的参数分别表示上、左、下、右的边距。如上,上边距为 20 点,左边距为 15 点,下边距为 0 点,右边距为 0 点。

renderer.headerHeight = 0;
设置打印页面的头部高度为 0。打印的每一页上都不会显示头部。

renderer.footerHeight = 0;
设置打印页面的底部高度为 0。打印的每一页上都不会显示底部。

http://www.lryc.cn/news/493494.html

相关文章:

  • 如何在ubuntu上调试core dump
  • 基于 JNI + Rust 实现一种高性能 Excel 导出方案(上篇)
  • 【Maven】依赖管理
  • springboot/ssm高校超市管理系统Java商品出入库供应商管理系统web源码wms
  • 小程序-基于java+SpringBoot+Vue的微信小程序养老院系统设计与实现
  • 宠物电商对接美团闪购:实现快速配送与用户增值
  • Vue中使用<Transition>与<TransitionGroup>
  • Algorithms and Data Structures in C++ by Mohammed Yasir Eramangadan
  • 2024广东省职业技能大赛云计算——构建CICD 部署2048小游戏
  • React 条件渲染
  • Hadoop生态圈框架部署(九)- Hive部署
  • c语言的qsort函数理解与使用
  • Java 语言的起源发展与基本概念(JDK,JRE,JVM)
  • 03_变量
  • [论文阅读-综述]Supervised Speech Separation Based on Deep Learning: An Overview
  • 群控系统服务端开发模式-应用开发-邮箱配置功能开发
  • 【机器学习】——卷积与循环的交响曲:神经网络模型在现代科技中的协奏
  • android studio引用so库
  • 2024年信号处理与神经网络应用(SPNNA 2024)
  • wxWidgets-ImageView
  • 第1章-JVM和Java体系架构
  • windows 服务器角色
  • [OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
  • C#中判断两个 List<T> 的内容是否相等
  • Linux环境下配置neo4j图数据库
  • Windows 11 搭建 Docker 桌面版详细教程
  • Pytest-Bdd-Playwright 系列教程(13):钩子(hooks)
  • dns 服务器简单介绍
  • Neo4j图形数据库-Cypher中常用指令
  • linux安全管理-防火墙配置