abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:33 | Nová verze

    Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.

    Ladislav Hagara | Komentářů: 0
    dnes 18:22 | Zajímavý projekt

    Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 12:44 | Bezpečnostní upozornění

    Zpráva Justičního výboru Sněmovny reprezentantů upozorňuje na cenzurní kampaň Evropské komise, mířenou proti svobodě projevu na sociálních sítích. V dokumentu se uvádí, že se Evropská komise během posledních šesti let účastnila více než 100 uzavřených jednání, během nichž po platformách požadovala úpravy pravidel moderování obsahu, přičemž toto úsilí Komise zahrnovalo i cenzuru politických názorů a pravdivých informací. Výbor zdůrazňuje, že tento přístup Bruselu ohrožuje ústavou zaručená práva Američanů na svobodu projevu.

    NUKE GAZA! 🎆 | Komentářů: 10
    dnes 04:33 | Nová verze

    Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 0
    včera 03:33 | IT novinky

    Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.

    Ladislav Hagara | Komentářů: 7
    7.2. 21:00 | Zajímavý projekt

    Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.

    NUKE GAZA! 🎆 | Komentářů: 3
    7.2. 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    7.2. 16:00 | Humor

    Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.

    NUKE GAZA! 🎆 | Komentářů: 6
    6.2. 17:22 | IT novinky

    Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.

    NUKE GAZA! 🎆 | Komentářů: 20
    6.2. 16:44 | Komunita

    Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.

    NUKE GAZA! 🎆 | Komentářů: 10
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (10%)
     (26%)
     (3%)
     (5%)
     (2%)
     (12%)
     (28%)
    Celkem 815 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Python: jak pribalit pdftk v cx_Freeze?

    3.4.2016 21:05 zdenek2008 | skóre: 26
    Python: jak pribalit pdftk v cx_Freeze?
    Přečteno: 545×
    Pythonovym skriptem vyplnuji pdf formulare pomoci pdftk. Problem nastane, kdyz skript zmrazim pomoci cx_Freeze; zmrazeny skript pdftk nezavola a pdf formulare nevyplni. Jestli spravne rozumim, cx_Freeze umi pribalit moduly, ale jak je to s externimi programy? Umi je pribalit take? Z dokumentace jsem moc nezmoudrel. Nekde jsem cetl, ze toto by snad melo jit v jinych podobnych programech (pyinstaller, py2exe), nebo mozna pouzitim modulu pypdftk, ale to by znamenalo prepsat ten skript nebo presedlat na nektery z tech jinych programu. Nemate nejake tipy?

    Řešení dotazu:


    Odpovědi

    Řešení 1× (zdenek2008 (tazatel))
    Pavel Stárek avatar 4.4.2016 12:43 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Python: jak pribalit pdftk v cx_Freeze?
    Umí to přibalit. Jak jsem psal, je potřeba vyplnit v setup skriptu sekci include_files třeba takto:

    #!/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 exe
    
    
    V proměné exe je celá cesta k pdftk.exe, která se dá použít pro volání pomocí popen() atd.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    4.4.2016 14:03 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: jak pribalit pdftk v cx_Freeze?
    Diky, ja jsem mylne zkousel zadat pdftk v setup.py do 'includes', coz hlasilo chybu ze takovy modul neexistuje; ale i kdybych se zkusmo trefil s 'include_files', tu druhou cast s vyhledanim cesty k pdftk bych stejne nevedel. Takze diky jeste jednou, vrhnu se na to.
    5.4.2016 21:04 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: jak pribalit pdftk v cx_Freeze?
    Tvuj priklad jsem si upravil tak, ze cx_Freeze ted pribaluje pdftk.exe a ten dll soubor do stejne slozky s vygenerovanym exe skriptem. V puvodnim pythonovem skriptu volam pdftk takhle:
    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)
    5.4.2016 22:01 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: jak pribalit pdftk v cx_Freeze?
    Pridal jsem do skriptu tvuj kod, ale zmrazeny exe pdf nevygeneruje. Jen problikne okno konzole a to je vse. Preddefinovany fdf soubor se vytvori, takze alespon zbytek skriptu funguje. S os.path moc zkusenosti jeste nemam, takze je to spis pokus-omyl; takhle jsem pouzil tvuj kod:
    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)
    
    5.4.2016 22:26 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: jak pribalit pdftk v cx_Freeze?
    Tvuj kod pro vyhledani cesty mi vypisuje primo "pdftk.exe", ale zmrazeny skript s nim zatim jeste nefunguje, tak mam nekde chybu. Ale zkusmo jsem do prikazu zadal "pdftk.exe" misto jen "pdftk" a vse zacalo fungovat pote co jsem do include_files v setup.py pridal prazdny pdf formular ktery se ma vyplnovat, aby se pribalil k vyslednemu baliku. No kdybych to umel, nakopal bych se sam...
    Pavel Stárek avatar 8.4.2016 17:25 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Python: jak pribalit pdftk v cx_Freeze?
    Samozřejmě že je potřeba si pomocí include_files přidat všechny další soubory které aplikace používá, například i sdílené knihovny Microsoftu které jsou používány samotným Pythonem.

    Ten modul os.path obsahuje různé funkce pro práci s "cestami". Funkce join "sečte" dva stringy tak, že přidá správný path separator (\ / - znak v proměnné os.sep) podle typu operačního systému na kterém je spuštěna. Samozřejmě na Windows (i v Linuxu) je možné si takovéhle stringy "sčítat" ručně, ale výsledný skript nebude přenositelný mezi různými OS.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.