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

自制田字格word

背景

孩子上小学要开始学认字了,每周有好多字要打印,要是直接拿一张A4纸去打印,字的排版就显得尤为重要,排过来排过去,总感觉不够正式。就想去网上搜一个可以下载的田字格模板。某度搜了半天,倒是搜到一堆好看的模板,要不就是收费下载,要不就是开VIP下载,还有更过分的,打着免费下载的旗号,下载之后,其实是一个免费的app,app可以选择模板制作各种word,要打印或导出的时候就让开永久VIP或者按月的VIP。哥啥东西没见过,套路呀,真多!之前就为了下载一个ppt模板开了个永久VIP,反正看着也便宜,永久的才39.9,谁知道开完没过多久网站就没了,我估计是换了个网站又继续运营去了。跟现在的培训机构跑路一个道理。那我果断不能开VIP啊,就捉摸着自己整个word来吧。

先看一下成品,看看是不是你们想要的,如果不是,请出门左拐去隔壁。

在这里插入图片描述

话不多说,直接开干。下面我会详细的来说一下怎么操作吧

  1. 新建一个word
  2. 在word上画田字格
  • 我用wps,直接插入一个表格

在这里插入图片描述
插入之后是这样的,别慌
在这里插入图片描述
我们需要调整一下表格的长度和宽度,选中表格,右键,打开表格属性
在这里插入图片描述
调整行和列的高度为0.8,这里可以根据个人爱好来调整田字格的大小
调整之后的样子
在这里插入图片描述
我们可以点击右侧的加号来添加田字格的数量,直到顶满(这里可以先不做,可以直接复制完成之后的田字格

  • 接下来要将田字格中间的横和竖转换成虚线
    选中第一个田字格,同样是右键,打开边框和底纹
    在这里插入图片描述
    先选择方框,线型选择实线(把方框变实线)
    再选择自定义,线型选择虚线,颜色根据个人爱好设置,选择右侧的横线和竖线
    在这里插入图片描述
    就变成了一个田字格,还可以根据个人爱好选择线条的宽度,这样一个田字格就做好了
    在这里插入图片描述

突然发现,要把这一排都变成田字格还挺麻烦,接下来就来复制吧,先把后边的格子选中,删除,再点➕,复制田字格
在这里插入图片描述
这里复制出来的田字格边界不清晰,还得设置,这块儿没别的好办法,一个格子一个格子设置吧,仍然是打开边框和底纹来设置,这里也比较简单,第一个田字格不需要设置,后边选中格子之后点击左侧竖线即可
在这里插入图片描述
相信细心的朋友也都发现了,这里还有对角线,可以画米字格了,有需要的朋友可以学起来
在这里插入图片描述
好了,到此一行田字格完成
在这里插入图片描述
那就有人疑惑了,这个格子怎么写字呢。。。。因为你写的字很可能就写到格子里了,比如这样的在这里插入图片描述

  • 如何写出楷体的字体
    插入一个文本框
    在这里插入图片描述
    这里写字,调整字体为楷体,大小为小初,并且调整边框颜色和背景色为
    在这里插入图片描述
    这个文本框中文字稍微靠下靠右,所以需要将格子左移上移一点点,正好对应田字格的正中央。这样的字体看起来端庄大方。
    下面就是复制这个文本框给每一个田字格补充字了
    你只需要不停的复制粘贴就可以了,很快就可以得到一个完整的田字格文档啦
    在这里插入图片描述
    是不是很有成就感,你以为这就完啦?并没有
    首先这样做出来的田字格相当于是一个模板,每次都需要复制出来一份,删除旧的文字,写上新的文字,看似很简单,实则一点儿也不难。但就是挺浪费时间。

接下来就有点专业了,要用代码去提高生产效率。非专业人士就到这结束吧。
我想只输入一行文字,他自动帮我填充到表格中。

  1. 首先将模板另存为xml格式,打开之后你肯定不认识里面的内容,将其格式化一下。
  2. 通过springboot+freemarker实现自动将输入的文字填充到word中。
    话不多说,上代码
    talk is cheap, show me the code
	private final Configuration configuration;@GetMapping("/testdoc")private ResponseEntity<byte[]> testDoc(@RequestParam(name = "word") String word) throws IOException, TemplateException {Map<String, Object> dataModel = new HashMap<>();for (int i = 0; i < word.length(); i++) {dataModel.put("str" + i, word.charAt(i));}Template template = configuration.getTemplate("test.ftl");String processedHtml = FreeMarkerTemplateUtils.processTemplateIntoString(template, dataModel);// 将HTML转换为Word文档(此处简化处理,实际可能需要使用Apache POI等库)byte[] wordBytes = convertHtmlToWord(processedHtml);HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);headers.setContentDispositionFormData("attachment", "document.docx");return new ResponseEntity<>(wordBytes, headers, HttpStatus.OK);}private byte[] convertHtmlToWord(String html) {// 这里省略了HTML转Word的具体实现,可以使用第三方库如Apache POI等return html.getBytes(); // 这只是示例,实际返回的应该是Word文档的字节流}

代码比较简单
yml文件配置

spring:freemarker:suffix: .ftlcharset: UTF-8template-loader-path: classpath:/templates/

xml文件改一下后缀放到这个位置
在这里插入图片描述
pom.xml文件需要引这个

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

到这里你可以对外提供服务了,请求get接口,直接可以生成一个doc文件
http://localhost:8080/testdoc?word=你好吗
后边媳妇再要打印认字卡,可以直接通过这种方式生成了。撒花✿✿ヽ(°▽°)ノ✿


http://www.mrgr.cn/news/62875.html

相关文章:

  • 字符串、字节流与十六进制字符串的转换:Python、C 和 Go 的实现对比20241029
  • C++抽象类(接口)
  • 时序分解 | TTNRBO-VMD改进牛顿-拉夫逊算法优化变分模态分解
  • 鸿蒙系统崛起:开发者如何抓住机遇与挑战
  • codeforces_补题
  • 阿里云开源 AI 应用开发框架:Spring AI Alibaba
  • Spring Boot2.x教程:(十)从Field injection is not recommended谈谈依赖注入
  • 《优化工厂模式:降低对象创建开销的秘籍》
  • 心觉:抄袭是一种智慧
  • 突破语言壁垒:Cohere 发布多语言大模型 Aya Expanse
  • 我在命令行下剪辑视频
  • SimpleQA:OpenAI 开源评估大模型事实性的基准测试
  • 多浏览器同步测试工具的设计与实现
  • 同事离职了,他写的代码我找不到了?咋办呢
  • GitGraphPro 图管理系统
  • vivado-vitis-2024.1 ps_hello_world 实验
  • 递归的使用
  • spark==windows启动spark集群
  • [java][高级]RequestResponse
  • 【实战篇】requests库 - 有道云翻译爬虫 【附:代理IP的使用】
  • 【算法】【优选算法】双指针(上)
  • Qt(文件IO)
  • Spring Boot 集成 RabbitMQ
  • Java阶段三02
  • Q-learning原理及代码实现
  • ubuntu交叉编译libffi库给arm平台使用