吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2716|回复: 76
收起左侧

[其他原创] 【HTML+CSS+JS】海东青便利小工具之A3卷子转A4分割+打印

  [复制链接]
海东青1013 发表于 2026-5-6 09:34
本帖最后由 海东青1013 于 2026-5-9 17:02 编辑

创作初心:孩子上小学,老师发送A3卷子图片需要转换为A4图片,孩子不会,遂创作这个三件套。

下载链接在最下面,解压时点击右键→解压到桌面即可使用,感谢版主指导,谢谢^_^


目前最新版本V5.0,具体改动如下:
一、增加了离线\在线双模式,并在正上方有提示;
二、增加了操作教程;
三、引入离线模式后打印机预览和下载出现卡顿,优化了下代码;
四、如果大家有啥新的需要和需求,留言即可啊~
五、网盘暂时不开分享,大家直接下载即可,文件解压密码52pojie


第一段:主界面参数
[JavaScript] 纯文本查看 复制代码
    <div class="row">
        <button class="btn-rotate-left">向左&#8635;转图</button>
        <button class="btn-rotate-right">向右&#8634;转图</button>
        <button class="btn-rotate-180">180°旋转&#8597;图</button>
        <button class="btn-export">打包+下载A4卷子</button>
        <button class="btn-print">批量打印A4卷子(打印机自己选择)</button>
    </div>

    <div id="preview">
  <div style="line-height:1.8; font-size:14px; padding:10px;">
    &#128193; 1、点击上方【选择文件】按键;
    <br>
    &#128444;&#65039; 2、选择图片文件,图片选择技巧:
    <br>
      &#9989; (1) 单一图片:直接点击鼠标左键选中图片 → 点击对话框【打开】;


第二段:增加在线离线的部分代码
[JavaScript] 纯文本查看 复制代码
document.addEventListener('DOMContentLoaded', () => {
    const tip = document.getElementById('modeTip');
    if (navigator.onLine) {
        tip.textContent = "&#9989;网络已链接-在线模式";
        tip.style.color = "#28a745";
    } else {
        tip.textContent = "&#128246;网络未链接-离线模式";
        tip.style.color = "#fd7e18";
    }

    if (state.selectFolderName) {
        document.getElementById('showPath').innerText = "已默认:" + state.selectFolderName;
        document.getElementById('saveDefault').checked = true;



第三部分:图片分割的部分代码
[JavaScript] 纯文本查看 复制代码
function generateCutAndPreview() {
    state.cutImages = [];
    state.previewEl.innerHTML = '';

    for (const { img, name } of state.rawImages) {
        // 画布创建(目前曲面屏存在显示问题)
        const canvas = document.createElement('canvas');
        const ctx = canvas.getContext('2d');
        const w = img.width, h = img.height;

        if (state.currentRotate === 90 || state.currentRotate === 270) {
            canvas.width = h;
            canvas.height = w;
        } else {
            canvas.width = w;
            canvas.height = h;
        }

        ctx.translate(canvas.width / 2, canvas.height / 2);
        ctx.rotate(state.currentRotate * Math.PI / 180);
        ctx.drawImage(img, -w / 2, -h / 2);

        // 分割左右
        const half = Math.floor(canvas.width / 2);
        const left = getImageFromCanvas(canvas, 0, 0, half, canvas.height);
        const right = getImageFromCanvas(canvas, half, 0, canvas.width - half, canvas.height);

        state.cutImages.push({ name, left, right });

        // 预览DOM(试试这个方法,看看图片预览速度)
        const div = document.createElement('div');
        div.className = 'item';
        div.innerHTML = `<p style="font-size:13px;margin-bottom:5px;">&#128196; ${name}</p>
                         <img src="${left}" style="max-width:48%;">
                         <img src="${right}" style="max-width:48%;">`;
        state.previewEl.appendChild(div);

整体页面

整体页面

裁剪页面A3转A4

裁剪页面A3转A4

打印预览页面

打印预览页面

海东青的便利小工具之A3卷子转A4分割+打印 V5.00(含在线、离线版).zip

4.42 KB, 下载次数: 353, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 7吾爱币 +13 热心值 +5 收起 理由
lql3344521aaa. + 1 我很赞同!
逐雅斋 + 1 1、27楼整合版:https://ico5.net/a3-splitter.html
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
hml123 + 1 + 1 我很赞同!
ruslan + 1 + 1 我很赞同!
laozhang4201 + 1 + 1 热心回复!
tydx0259 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

emlwqemlwq 发表于 2026-5-12 22:08
感觉设计不太好,我自己做了一个,可以自动将A3或B3页面自动切割并导出为A4或B5 PDF。软件界面见图。
11.png
 楼主| 海东青1013 发表于 2026-5-8 10:13
少污污 发表于 2026-5-7 12:15
你这个,打包为本地运行啊。哈~

收到,这几天下县比较忙,尽量明天左右改好。谢谢您和前面的大哥建议。
苏紫方璇 发表于 2026-5-6 09:54
请在帖子中插入部分关键代码
本版块仅限分享编程技术和源码相关内容,发布帖子必须带上关键代码和具体功能介绍
代码插入方法可见板块置顶帖
【公告】发帖代码插入以及添加链接教程(有福利)
https://www.52pojie.cn/thread-713042-1-1.html
(出处: 吾爱破解论坛)
不依baya 发表于 2026-5-6 10:48
这个很不错,A3卷子用A4打印太小了
fuxingjun674 发表于 2026-5-6 10:50
本帖最后由 fuxingjun674 于 2026-5-6 10:51 编辑

这个不错啊。可以实现一键A3纸,打印到A4纸!
 楼主| 海东青1013 发表于 2026-5-6 10:51
fuxingjun674 发表于 2026-5-6 10:50
这个不错啊。可以实现一键A3纸,打印到A4纸!解压密码?

感谢您的评价。^_^
jun269 发表于 2026-5-6 10:53
A3打印成一张不是更好吗?
dork 发表于 2026-5-6 10:57
除此之外,可以用扫描**王一类的APP导入图片后分割成二半,也可以实现,而且顺便可以将图片清晰化。
 楼主| 海东青1013 发表于 2026-5-6 10:57
jun269 发表于 2026-5-6 10:53
A3打印成一张不是更好吗?

我问了很多老师和家长,告知很多家里没有A3打印机,有的也基本都是黑白色的A4打印机。
 楼主| 海东青1013 发表于 2026-5-6 11:01
dork 发表于 2026-5-6 10:57
除此之外,可以用扫描**王一类的APP导入图片后分割成二半,也可以实现,而且顺便可以将图片清晰化。

这个您说的对,但孩子还小,自己打印存在要操作多个软件,且还要手动去调整\裁剪,所以改成HTMl的,为的就是让孩子自己整去,家长可以偷懒下。
fuxingjun674 发表于 2026-5-6 11:01
jun269 发表于 2026-5-6 10:53
A3打印成一张不是更好吗?

问题是没有A3打印机
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-9-13 22:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表