Emoticons,expression sheet of dogs, cartoon, black and white outline, uncolored,matrix,slapped,dizzy,happy,angry,crying,sad,cute, looking forward to,laughing,disappointed and shy,sleepy,eating,dizzy,love,Pixar style, cute --niji5
表情包、狗狗表情表、卡通、黑白轮廓、未着色、矩阵、拍打、眩晕、快乐、愤怒、哭泣、悲伤、可爱、期待、大笑、失望和害羞、嗜睡、吃东西、头晕、爱、皮克斯风格、可爱——niji5
狗与跳舞人,第1页

狗与跳舞人,第2页

- # -*- coding: utf-8 -*-
- '''
- 连环画书4.0
- 目的:
- 1、在制作连环画 一页2份,四面都有图片,2正2反,
- 2、作者:阿夏
- 时间:2023年10月2日)
- '''
-
-
- import os
- import os.path
- import shutil
- from PIL import Image
-
-
- # num=int(input('生成多少份(28人)\n'))
- # Number=4
-
- print('----------第1步:提取正面水平图片路径------------')
-
- # 文件名
- pathfront=[]
- p1=r"C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\图片正面"
- # 过滤:只保留png结尾的图片
- imgs1=os.listdir(p1)
- for img1 in imgs1:
- if img1.endswith(".png"):
- pathfront.append(p1+'\\'+img1)
- # print(pathfront)
-
- pathtime1=[]
- for w1 in range(int(len(pathfront)/80)):
- t1=pathfront[w1*80:w1*80+80]
- # for t11 in t1:
- pathtime1.append(t1)
- print(pathtime1)
- print(len(pathtime1))
-
- print('----------第2步:提取反面倒置图片路径------------')
-
- from PIL import Image
- import os.path
- import glob
- import os
- from matplotlib import pyplot as plt
-
- l=r"C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\图片反面临时"
- folder = os.path.exists(l)
- if not folder: # 判断是否存在文件夹如果不存在则创建为文件夹
- os.makedirs(l) # makedirs 创建文件时如果路径不存在会创建这个路径
- else:
- print("文件夹已存在,无需创建")
-
- dir_path= r"C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\图片反面"
- files= os.listdir(dir_path)
- for file in files:
- ff=os.path.splitext(file)[0]
- img=Image.open(r"C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\图片反面/"+file)
- img = img.transpose(Image.FLIP_TOP_BOTTOM)
- # 左右是这样的im.transpose(Image.FLIP_LEFT_RIGHT) 选装360°的垂直旋转
- img.save(r"C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\图片反面临时/"+file)
-
- # 文件名
- pathback=[]
- p2=r"C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\图片反面临时"
- # 过滤:只保留png结尾的图片
- imgs2=os.listdir(p2)
- for img2 in imgs2:
- if img2.endswith(".png"):
- pathback.append(p2+'\\'+img2)
- # print(pathfront)
- # 新建文件夹并倒置
-
- pathtime2=[]
- for w2 in range(int(len(pathback)/80)):
- t2=pathback[w2*80:w2*80+80]
- # for t12 in t2:
- pathtime2.append(t2)
- print(pathtime2)
- print(len(pathtime2))
- # 2
-
- # # pathtime=[]
- # # for a1 in pathtime1:
- # # for b1 in a1:
- # # pathtime.append(b1)
- # # for a2 in pathtime2:
- # # for b2 in a2:
- # # pathtime.append(b2)
- # # print(pathtime)
- # # print(len(pathtime))
-
-
-
- # # print('----------第2步:新建一个临时文件夹------------')
- # # # 新建一个”装N份word和PDF“的文件夹
- os.mkdir(r'C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\零时Word')
-
-
-
-
- import docx
- from docx import Document
- from docx.shared import Pt
- from docx.shared import RGBColor
- from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
- from docx.oxml.ns import qn
- import random
-
- import os,time
- import docx
- from docx import Document
- from docx.shared import Inches,Cm,Pt
- from docx.shared import RGBColor
- from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
- from docx.oxml.ns import qn
-
- from docxtpl import DocxTemplate
- import pandas as pd
- from docx2pdf import convert
- from docx.shared import RGBColor
-
- print('-----------第3步 正面图案右侧坐标 正面图案左侧坐标------------')
- bg1=[]
- for x1 in range(0,5):
- for y1 in range(1,8,2):
- c1='{}{}'.format('%02d'%x1,'%02d'%y1)
- bg1.append(c1)
-
- bg2=[]
- for x2 in range(0,5):
- for y2 in range(0,8,2):
- c2='{}{}'.format('%02d'%x2,'%02d'%y2)
- bg2.append(c2)
-
-
-
-
-
- for nn in range(0,len(pathtime2)):
- doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\连环画书.docx')
-
- path1=[]
- path2=[]
- # for w in range(len(pathtime1)):
- for v in [0,2,1,3]:
- # 表格1蝴蝶结猫右侧,表格3蝴蝶结猫右侧,表格2黑猫右侧,表格4黑猫右侧,
- u1= pathtime1[nn][v*20:v*20+20]
- path1.append(u1)
- u2= pathtime2[nn][v*20:v*20+20]
- path2.append(u2)
- # print(path1)
- # print(len(path1))
- # print(path2)
- # print(len(path2))
- for z in range(4):
- table = doc.tables[z] # 只有一个表格
- # pp=[]
- # qq=[]
- # kk=[]
- for t in range(len(bg1)): # 02
- pp1=int(bg1[t][0:2])
- qq1=int(bg1[t][2:4])
- k1=path1[z][t]
- # pp.append(pp1)
- # qq.append(qq1)
- # # kk.append(k1)
-
- pp2=int(bg2[t][0:2])
- qq2=int(bg2[t][2:4])
- k2=path2[z][t]
- # pp.append(pp2)
- # qq.append(qq2)
- # kk.append(k2)
-
- # pp=str(pp1)+str(pp2)
- # qq=str(qq1)+str(qq2)
- # kk=k1+k2
- # print(pp,qq,kk)
- # # print(pp,qq,k2)
-
-
- run=doc.tables[z].cell(pp1,qq1).paragraphs[0].add_run() # 在第1个表格中第2个单元格内插入国旗
- run.add_picture('{}'.format(k1),width=Cm(2.4),height=Cm(2.4)) # 1.5的图片最多6个
- table.cell(pp1,qq1).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中
-
- run=doc.tables[z].cell(pp2,qq2).paragraphs[0].add_run() # 在第1个表格中第2个单元格内插入国旗
- run.add_picture('{}'.format(k2),width=Cm(2.4),height=Cm(2.4)) # 1.5的图片最多6个
- table.cell(pp2,qq2).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中
-
- # # 写入彩色图片
- # for s in range(len(kk)):
- # run=doc.tables[z].cell(int(pp[s]),int(qq[s])).paragraphs[0].add_run() # 在第1个表格中第2个单元格内插入国旗
- # run.add_picture('{}'.format(kk[s]),width=Cm(2.4),height=Cm(2.4)) # 1.5的图片最多6个
- # table.cell(int(pp[s]),int(qq[s])).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER #居中
-
- # 保存docx 和pdf
- doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\零时Word\{}.docx'.format('%02d'%nn))
-
- from docx2pdf import convert
-
- # docx 文件另存为PDF文件
- inputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/连环画书/零时Word/{}.docx".format('%02d'%nn) # 要转换的文件:已存在
- outputFile = r"C:/Users/jg2yXRZ/OneDrive/桌面/连环画书/零时Word/{}.pdf".format('%02d'%nn) # 要生成的文件:不存在
- # 先创建 不存在的 文件
- f1 = open(outputFile, 'w')
- f1.close()
- # 再转换往PDF中写入内容
- convert(inputFile, outputFile)
-
- print('----------第4步:把都有PDF合并为一个打印用PDF------------')
-
- # 多个PDF合并(CSDN博主「红色小小螃蟹」,https://blog.csdn.net/yangcunbiao/article/details/125248205)
- import os
- from PyPDF2 import PdfFileMerger
- target_path = 'C:/Users/jg2yXRZ/OneDrive/桌面/连环画书/零时Word'
- pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
- pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
- pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
- pdf_lst.sort()
- file_merger = PdfFileMerger()
- for pdf in pdf_lst:
- print(pdf)
- file_merger.append(pdf)
- file_merger.write("C:/Users/jg2yXRZ/OneDrive/桌面/连环画书/(打印合集)连环画4.0测试双面(共{}份).pdf".format(nn+1))
-
- file_merger.close()
-
- # # # print('----------第5步:删除临时文件夹------------')
- import shutil
- shutil.rmtree('C:/Users/jg2yXRZ/OneDrive/桌面/连环画书/零时Word') #递归删除文件夹,即:删除非空文件夹
- shutil.rmtree(r'C:\Users\jg2yXRZ\OneDrive\桌面\连环画书\图片反面临时') #递归删除文件夹,即:删除非空文件夹
-
-




5CM一面,有点翻不动,纸张太少了,页面较大
图片多一点






1.5CM一面,还是翻不动,可能和纸张材料太软有关,也可能还是不够多。
总之:翻页动画效果不明显,幼儿裁剪40张小卡片也不容易。
放弃……