ich hab's jetzt folgendermaßen gelöst,
das dumme ist nur, ich muß delete=False anfügen, sonst ist das file leer. Ich erkaufe mir das mit einem nicht gelöschten .pdf im temp Ordner. Kann mir da jemand helfen??
Code: Alles auswählen
def output():
from tempfile import NamedTemporaryFile
output = PdfFileWriter()
with nested(open("tmp.pdf", "rb"),open("GraphFiles\\Rahmen.pdf", "rb")) as (tmp_file, rahmen_file):
input1 = PdfFileReader(rahmen_file)
input2 = PdfFileReader(tmp_file)
output.addPage(input1.getPage(0))
page0 = input1.getPage(0)
watermark = input2
page0.mergePage(watermark.getPage(0))
temp_file = NamedTemporaryFile(suffix = '.pdf', prefix = 'temp',delete=False)
output.write(temp_file)
os.startfile(temp_file.name)
temp_file.close()
edit:
ich habe mir überlegt, dass ich temp.pdf mit
erstelle, dann müßte ich nur noch einen wx.EVT_CLOSE einbinden.
doch wie lösche ich NamedTemporaryFile (z.B.
tempzfoxzv.pdf
) unter Windows?? mit
Code: Alles auswählen
if os.path.exists("temp*.pdf"):
os.remove("temp*.pdf")
gehts ja nun nicht...
edit2:
meine Lösung ist jetzt erstmal:
Code: Alles auswählen
def OnClose(self, event):
p1=glob.glob('temp*.pdf')
for i in p1:
os.remove( i)
aber das kann's doch nicht sein?? Ich erstelle tempfiles und muß sie erst noch löschen??