File: C:/xampp/htdocs/dropfile/php/uploads/PMpdfResizeC.py
from sys import exc_info
from traceback import print_tb
from PDFlib.PDFlib import *
import time
ts = time.time()
import datetime
st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
import os
dirlist = os.listdir("C:/adfs/pTrans3")
from pprint import pprint
pprint(dirlist)
searchpath = "C:/adfs/pTrans3"
imagefile = "blank.jpg"
outfile = ""
title = "PDF Impose"
pdffiles = dirlist
p = PDFlib()
try:
p.set_option("errorpolicy=return")
p.set_option("license=w900602-010300-741796-5KVCF2-Q4PLF2")
# Set the search path for fonts and PDF files
p.set_option("SearchPath={{" + searchpath +"}}")
strp = pdffiles[0]
print ("fName:"+strp[:-12])
print ("stp:"+strp[-8:-5])
print ("stp2:"+strp[-12:-9])
import re
text = pdffiles[0]
print(re.split('_',text))
try:
pp=re.split('_',text)
pname = pp[1]
except (RuntimeError, TypeError, NameError,IndexError): ##no sized name
print("else!!41")
indocP = p.open_pdi_document(pdffiles[0], "")
print("Warning:"+pdffiles[0]+" \n")
four = pdffiles[0][0:-4]
print(four)
pwidth = p.pcos_get_number(indocP, "pages[0]/width")/2.8346;
pwidthx = p.pcos_get_number(indocP, "pages[0]/width");
pheight = p.pcos_get_number(indocP, "pages[0]/height")/2.8346;
pheightx = p.pcos_get_number(indocP, "pages[0]/height");
trimwidth=p.pcos_get_number(indocP, "pages[0]/TrimBox[2]")-p.pcos_get_number(indocP, "pages[0]/TrimBox[0]");
trimheight=p.pcos_get_number(indocP, "pages[0]/TrimBox[3]")-p.pcos_get_number(indocP, "pages[0]/TrimBox[1]");
m=2.8346
ratioP=1
trimwidthm=round(trimwidth/m/10,1)
trimheightm=round(trimheight/m/10,1)
if p.begin_document("C:/adfs/Xout/"+four+"~"+str(trimwidthm)+"~"+str(trimheightm)+".pdf", "") == -1:
raise PDFlibException("Error: trimwidth" + p.get_errmsg())
p.set_info("Creator", "placePdf.py")
p.set_info("Author", "Fred Kuo")
p.set_info("Title","PDFlib block processing sample (C)")
#p.begin_page_ext(float(width)*m+2*m, float(height)*m+2*m, "trimbox={"+str(1*m)+" "+str(1*m)+ " "+str(float(width)*m+1*m)+ " "+ str(float(height)*m+1*m)+" }")
p.begin_page_ext(float(trimwidth)*ratioP+2*m, float(trimheight)*ratioP+2*m, "trimbox={"+str(1*m)+" "+str(1*m)+ " "+str(float(trimwidth)*ratioP+1*m)+ " "+ str(float(trimheight)*ratioP+1*m)+" }")
blockcontainer = p.open_pdi_document(pdffiles[0], "")
if blockcontainer == -1:
raise PDFlibException("Error:pwidth " + p.get_errmsg())
pages = p.open_pdi_page(blockcontainer,1, "")
shiftw=((pwidthx-trimwidth)/2*ratioP)-m
print("shihtw:"+str(shiftw)+" \n")
shifth=((pheightx-trimheight)/2*ratioP)-m
print("shihth:"+str(shifth)+" \n")
#optlist="boxsize={"+str(pwidth+2*m)+" "+str(pheight+2*m)+"} position=center fitmethod=clip"
optlist="boxsize={"+str(pwidthx*ratioP)+" "+str(pheightx*ratioP)+"} position=center fitmethod=meet"
p.fit_pdi_page(pages, -shiftw, -shifth, optlist); ############left end no size
######################################################################################################
p.end_page_ext("")
p.end_document("")
source = 'C:/adfs/pTrans3'
#destination = 'C:/adfs/Xout'
hold = 'C:/adfs/hold'
import shutil
for file in os.listdir(source):
#print file # testing
shutil.copy(source+"/"+pdffiles[0], hold+"/"+pdffiles[0])
#shutil.move(source+"/"+pdffiles[0], destination+"/"+four+"~"+str(pwidth)+"~"+str(pheight)+".pdf")
sys.exit()
#no size
print ("domain:"+pname )
str1 = pp[1][:1];
################################################# 22x33.pdf end
if ".pdf" in pp[1]:
print ("pp2:"+pp[1] )
print("else2!!")
dd=pp[1]
print ("dd:"+dd )
pd=dd.split('.p',1)
#pd=dd.split('.',1)
dname=pd[0]
print ("pd2:"+str(dname) )
strd= dname[:1]
dname=dname.lower()
size=dname.split('x', 1)
widthp=size[0]
heightp=size[1]
width=float(size[0])*10
height=float(size[1])*10
print ("width:"+str(width) )
print ("height:"+str(height) )
pageopen = 0
indocP = p.open_pdi_document(pdffiles[0], "")
pwidth = p.pcos_get_number(indocP, "pages[0]/width")/2.8346;
pwidthx = p.pcos_get_number(indocP, "pages[0]/width");
pheight = p.pcos_get_number(indocP, "pages[0]/height")/2.8346;
pheightx = p.pcos_get_number(indocP, "pages[0]/height");
ppwidth=float(pwidth)/2.8346
print ("pwidth:"+str(pwidth))
print ("pheight:"+str(pheight) )
pwidthTr = p.pcos_get_number(indocP, "pages[0]/TrimBox[2]");
pheightTr = p.pcos_get_number(indocP, "pages[0]/TrimBox[3]");
pwidthTr0 = p.pcos_get_number(indocP, "pages[0]/TrimBox[0]");
pheightTr0 = p.pcos_get_number(indocP, "pages[0]/TrimBox[1]");
endpage = p.pcos_get_number(indocP, "length:pages")
trimwidth=p.pcos_get_number(indocP, "pages[0]/TrimBox[2]")-p.pcos_get_number(indocP, "pages[0]/TrimBox[0]");
trimheight=p.pcos_get_number(indocP, "pages[0]/TrimBox[3]")-p.pcos_get_number(indocP, "pages[0]/TrimBox[1]");
m=2.8346
print("Warning:"+pdffiles[0]+" \n")
four = pdffiles[0][0:-4]
print(four)
print("width:"+str(pwidth)+" \n")
print("heigtht:"+str(pheight)+" \n")
print("widthTr:"+str(pwidthTr/m)+" \n")
print("heigthtTr:"+str(pheightTr/m)+" \n")
print("Trx:"+str(trimwidth/m)+" \n")
print("Try:"+str(trimheight/m)+" \n")
ratioP=(float(width*m))/float(trimwidth)
print("ration:"+str(ratioP)+" \n")
######################################start doc
for i in range(0, int(endpage), 1):
if p.begin_document("C:/adfs/Xout/"+four+"~"+widthp+"~"+heightp+".pdf", "") == -1:
raise PDFlibException("Error: trimwidth" + p.get_errmsg())
p.set_info("Creator", "placePdf.py")
p.set_info("Author", "Fred Kuo")
p.set_info("Title","PDFlib block processing sample (C)")
#p.begin_page_ext(float(width)*m+2*m, float(height)*m+2*m, "trimbox={"+str(1*m)+" "+str(1*m)+ " "+str(float(width)*m+1*m)+ " "+ str(float(height)*m+1*m)+" }")
p.begin_page_ext(float(trimwidth)*ratioP+2*m, float(trimheight)*ratioP+2*m, "trimbox={"+str(1*m)+" "+str(1*m)+ " "+str(float(trimwidth)*ratioP+1*m)+ " "+ str(float(trimheight)*ratioP+1*m)+" }")
blockcontainer = p.open_pdi_document(pdffiles[0], "")
if blockcontainer == -1:
raise PDFlibException("Error:pwidth " + p.get_errmsg())
pages = p.open_pdi_page(blockcontainer, i+1, "")
shiftw=((pwidthx-trimwidth)/2*ratioP)-m
print("shihtw:"+str(shiftw)+" \n")
shifth=((pheightx-trimheight)/2*ratioP)-m
print("shihth:"+str(shifth)+" \n")
#optlist="boxsize={"+str(pwidth+2*m)+" "+str(pheight+2*m)+"} position=center fitmethod=clip"
optlist="boxsize={"+str(pwidthx*ratioP)+" "+str(pheightx*ratioP)+"} position=center fitmethod=meet"
p.fit_pdi_page(pages, -shiftw, -shifth, optlist); ############left end
######################################################################################################
p.end_page_ext("")
p.end_document("")
sys.exit()### .pdf end
################################################################################### sized name
str2 = pp[2][:1];
pname = pp[1]
pname=pname.lower()
size=pname.split('x', 1)
##################################################################################################################
widthp=size[0]
heightp=size[1]
width=float(size[0])*10 #from name
height=float(size[1])*10 #from name
print ("width:"+str(width) )
print ("height:"+str(height) )
pageopen = 0
indocP = p.open_pdi_document(pdffiles[0], "")
pwidth = p.pcos_get_number(indocP, "pages[0]/width")/2.8346;
pwidthx = p.pcos_get_number(indocP, "pages[0]/width");
pheight = p.pcos_get_number(indocP, "pages[0]/height")/2.8346;
pheightx = p.pcos_get_number(indocP, "pages[0]/height");
ppwidth=float(pwidth)/2.8346
print ("pwidth:"+str(pwidth))
print ("pheight:"+str(pheight) )
pwidthTr = p.pcos_get_number(indocP, "pages[0]/TrimBox[2]");
pheightTr = p.pcos_get_number(indocP, "pages[0]/TrimBox[3]");
pwidthTr0 = p.pcos_get_number(indocP, "pages[0]/TrimBox[0]");
pheightTr0 = p.pcos_get_number(indocP, "pages[0]/TrimBox[1]");
endpage = p.pcos_get_number(indocP, "length:pages")
trimwidth=p.pcos_get_number(indocP, "pages[0]/TrimBox[2]")-p.pcos_get_number(indocP, "pages[0]/TrimBox[0]");
trimheight=p.pcos_get_number(indocP, "pages[0]/TrimBox[3]")-p.pcos_get_number(indocP, "pages[0]/TrimBox[1]");
m=2.8346
print("Warning:"+pdffiles[0]+" \n")
four = pdffiles[0][0:-4]
print(four)
print("width:"+str(pwidth)+" \n")
print("heigtht:"+str(pheight)+" \n")
print("widthTr:"+str(pwidthTr/m)+" \n")
print("heigthtTr:"+str(pheightTr/m)+" \n")
print("Trx:"+str(trimwidth/m)+" \n")
print("Try:"+str(trimheight/m)+" \n")
ratioP=(float(width*m))/float(trimwidth)
print("ration:"+str(ratioP)+" \n")
######################################start doc
for i in range(0, int(endpage), 1):
if p.begin_document("C:/adfs/Xout/"+four+"~"+widthp+"~"+heightp+".pdf", "") == -1:
raise PDFlibException("Error: trimwidth" + p.get_errmsg())
p.set_info("Creator", "placePdf.py")
p.set_info("Author", "Fred Kuo")
p.set_info("Title","PDFlib block processing sample (C)")
#p.begin_page_ext(float(width)*m+2*m, float(height)*m+2*m, "trimbox={"+str(1*m)+" "+str(1*m)+ " "+str(float(width)*m+1*m)+ " "+ str(float(height)*m+1*m)+" }")
p.begin_page_ext(float(trimwidth)*ratioP+2*m, float(trimheight)*ratioP+2*m, "trimbox={"+str(1*m)+" "+str(1*m)+ " "+str(float(trimwidth)*ratioP+1*m)+ " "+ str(float(trimheight)*ratioP+1*m)+" }")
blockcontainer = p.open_pdi_document(pdffiles[0], "")
if blockcontainer == -1:
raise PDFlibException("Error:pwidth " + p.get_errmsg())
pages = p.open_pdi_page(blockcontainer, i+1, "")
shiftw=((pwidthx-trimwidth)/2*ratioP)-m
print("shihtw:"+str(shiftw)+" \n")
shifth=((pheightx-trimheight)/2*ratioP)-m
print("shihth:"+str(shifth)+" \n")
#optlist="boxsize={"+str(pwidth+2*m)+" "+str(pheight+2*m)+"} position=center fitmethod=clip"
optlist="boxsize={"+str(pwidthx*ratioP)+" "+str(pheightx*ratioP)+"} position=center fitmethod=meet"
p.fit_pdi_page(pages, -shiftw, -shifth, optlist); ############left end
######################################################################################################
p.end_page_ext("")
p.end_document("")
###########################################################################################################
except PDFlibException:
print("PDFlib exception occurred:\n[%d] %s: %s" %
((p.get_errnum()), p.get_apiname(), p.get_errmsg()))
print_tb(exc_info()[2])
except Exception:
print("Exception occurred: %s" % (exc_info()[0]))
print_tb(exc_info()[2])
finally:
p.delete()
source = 'C:/adfs/pTrans3'
destination = 'C:/adfs/hold'
import shutil
for file in os.listdir(source):
#print file # testing
shutil.move(source+"/"+pdffiles[0], destination+"/"+pdffiles[0])