Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.
Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).
Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.
Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.
Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.
Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.
Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.
GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.
Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).
Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.
Řešení dotazu:
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from cx_Freeze import setup, Executable # Dependencies are automatically detected, but it might need fine tuning. #build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]} includefiles = [("src/pdftk.exe", "pdftk.exe"), ("src/libiconv2.dll", "libiconv2.dll")] build_exe_options = {"packages": ["os"], "excludes": [""], "include_files": includefiles} #build_exe_options = {} # GUI applications require a different base on Windows (the default is for a # console application). base = None #if sys.platform == "win32": # base = "Win32GUI" setup( name = "pdftkexample", version = "1.0", description = "PdfTk example", options = {"build_exe": build_exe_options}, executables = [Executable("src/pdftkexample.py", base=base)])Předpokládaná struktura adresáře je například: C:\MojeAplikace\src - tam bude pdftkexample.py a pdftk.exe+libiconv2.dll C:\MojeAplikace\setup-cxfreeze.py kde bude to co je napsané nahoře. Po zmrazení bude pdftk.exe i s knihovnou libiconv2.dll přibaleno k výslednému exe progámku. Ovšem, aby ho bylo možno volat, je potřeba zjistit kde je umístěn, to se ve vlastním skriptu, který bude volat pdftk.exe udělá takto:
import sys import os import os.path def getModulePath(): if (hasattr(sys, "frozen")): return os.path.dirname(sys.executable) return os.path.dirname(__file__) def getPdftkExe(exe_name="pdftk.exe"): path = os.path.join(getModulePath(), exe_name) return path if __name__ == "__main__": exe = getPdftkExe() print exeV proměné exe je celá cesta k pdftk.exe, která se dá použít pro volání pomocí popen() atd.
pdftk_command='pdftk form.pdf fill_form form.fdf output form_from_script.pdf' os.system(pdftk_command)Zmrazeny exe skript prislusne pdf soubory nevytvari, cili stale jeste nevola pdftk. Tim se dostavam k tvemu druhemu skriptu, ktery vyhleda cestu k pdftk a vrati ji v promenne exe. Kdyz je pdftk ve stejne slozce se skriptem ktery ho vola, nemelo by stacit volat s cestou .\ , tedy takto?:
pdftk_command='.\pdftk form.pdf fill_form form.fdf output form_from_script.pdf' os.system(pdftk_command)
import logging from decimal import * import os import glob import sys import os.path def getModulePath(): if (hasattr(sys, "frozen")): return os.path.dirname(sys.executable) return os.path.dirname(__file__) def getPdftkExe(exe_name="pdftk.exe"): path = os.path.join(getModulePath(), exe_name) return path if __name__ == "__main__": cesta_k_pdftk_exe = getPdftkExe() #print(cesta k_pdftk_exe) pdftk_command=cesta_k_pdftk_exe+' form.pdf fill_form form.fdf output form_from_script.pdf' os.system(pdftk_command)
Tiskni
Sdílej: