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页
# -*- 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\桌面\连环画书\图片反面临时') #递归删除文件夹,即:删除非空文件夹