Toto je starší verze dokumentu!
Akce nad dokumenty v DMS ESO9
Spojování PDF dokumentů
Ve formulářích s DMS lze použít akci na tlačítko, která provede spojení označených PDF dokumentů do jediného. Pokud je některý ze spojovaných PDF dokumentů otočen (např. špatným naskenováním), otočí se při spojování správně tak, aby výsledný dokument měl všechny stránky otočené stejně.
Formát příslušného tlačítka je:
<input type="button" value="Spojit PDF dokumenty" name="Actx_Eso9lib.CPDFtools" >
Převod obrázku na PDF dokument
Ve formulářích s DMS lze použít akci na tlačítko, která provede převod uloženého dokumentu ve formátu bitmapového obrázku na formát PDF.
Formát příslušného tlačítka je:
<input type="button" value="Převést na PDF" name="Actx_IMG2PDF.IMG2PDF" >
Digitální podepisování dokumentů
Digitální podepsání PDF dokumentů lze v ESO9 snadno realizovat tlačítkem/akcí v libovolném formuláři s dokumenty. Před vlastní m podepisováním je třeba vložit podpisový certifikát (resp. certifikáty, každý uživatel může podepisovat dokumenty svým certifikátem) do činnosti 9.8.10 Certifikáty. Poté je třeba vložit sériové číslo požadovaného certifikátu do aplikačního parametru CERT_SN. Tento parametr může pro různé uživatele nabývat různých hodnot; pokud tedy bude každý uživatel používat k podepisování svůj certifikát, je třeba založit parametr CERT_SN pro uživatele.
Podepisování pak bude reprezentování tlačítkem se syntaxí:
<input type="button" value="Podepsat digitálně" name="Actx_Eso9lib.CPDFsign" >
Digitální podepisování dokumentů formou stored procedury v databázi
Digitální podepsání PDF dokumentů je dostupné (kromě akce na tlačítko ve formuláři, viz výše) i formou stored procedury v aplikační databázi.
Syntaxe stored procedury je následující:
CREATE OR ALTER PROCEDURE dbo.SignPDF @sInputFileGUID NVARCHAR(80) ,@iIDcert INT ,@MultipleSign BIT ,@sOutputFileName NVARCHAR(255) ,@iOutputDocumentID INT OUTPUT ,@Status INT OUTPUT ,@ErrorMessage NVARCHAR(MAX) OUTPUT AS EXTERNAL NAME [PDFSign].[PDFSign].SignPDF
Významy jednotlivých parametrů:
- @sInputFileGUID - identifikátor vstupního (podepisovaného) PDF dokumentu z dokumentové databáze
- @iIDcert- ID certifikátu použitého pro digitální podpis.
- @MultipleSign - příznak, zda v případě již existujícího podpisu PDF dokument znovu podepsat dalším podpisem.
- @sOutputFileName - jméno podepsaného PDF dokumentu, který se zde zakládá. Pokud bude prázdné, vygeneruje se jméno souboru z původního + „.signed.pdf“
- @iOutputDocumentID - ID nově založeného podepsaného PDF dokumentu.
- @Status - výsledek volání: 0=OK, -1=chyba.
- @ErrorMessage - popis chyby.
Ruční podepisování dokumentů
V ESO9 je možnost podepisovat PDF dokumenty podpisovým tabletem značky Wacom. Vývoj probíhal na modelu STU-430, podle dokumentace výrobce však lze se stejným SDK použít libovolný v současnosti podporovaný tablet řady STU.
Integrace sestává z klientské a serverové části a ovladače od výrobce (viz následující podkapitola). Klientská část je integrovaná ve službě ESO9 Support Services v1.6.0, serverová je pak součástí knihovny ESO9Lib.dll v6.8.0.4.
Podepisování se volá nad libovolným formulářem s dokumentem a je reprezentováno tlačítkem se syntaxí:
<input type="button" value="Podepsat ručně" name="Actx_Eso9lib.CPDFsignTablet" >
Tlačítko zobrazí výzvu uživatele k podepsání PDF dokumentu, počká na zapsání podpisu a vloží jej na dané místo v PDF dokumentu. Vkládání podpisu do dokumentu se pak řídí parametry v datovém zdroji formuláře:
- ' ' as MF_SIGNIMG - obrázek podpisu v Base64 encodingu. Pomocí této datové položky si klient a server předávají obrázek s podpisem. Položku stačí tímto způsobem uvést v datovém zdroji a v HIDDEN parametrech formuláře.
- 360 as MF_XPOS, 200 as MF_YPOS - souřadnice umístění podpisu v PDF dokumentu v případě, že jej umisťujeme uživatelsky/implementačně.
- 35 as MF_SIGNSCALE - měřítko obrázku s podpisem v %, výchozí hodnota je 35%. Obrázek z tabletu má rozlišení 300×150 px, před vložením do PDF je zpravidla třeba jej zmenšit.
- 4 as MF_SIGNONPAGE - na které stránky se má podpis vložit:
- 0 = na první,
- 1 = na poslední,
- 2 = na všechny,
- 3 = automaticky na 1.výskyt klíčového slova v dokumentu. V takovém případě se aplikace pokusí najít souřadnice požadovaného slova a obrázek s podpisem vložit na ně.
- 4 = automaticky na všechny výskyty klíčového slova v dokumentu, resp. každý 1.výskyt slova v každé stránce. Výchozí hodnota pro případ, že parametr není uveden.
- 'Podpis;podpis' as MF_KEYWORDS - seznam klíčových slov, které se budou v dokumentu vyhledávat pro automatické umístění podpisu. Po nálezu prvního slova ze seznamu se na jeho pozici umístí obrázek s podpisem a pokračuje se další stránkou. Má význam pro hodnoty parametru MF_SIGNONPAGE = 3/4.
- 'Podpis dokladu č.' + '%CIS_DOK%' as MF_SIGNREASON - důvod pro vložení podpisu se zobrazí na podpisovém tabletu uživateli tak, aby věděl, co podepisuje.
- ' ' as MF_SIGNUSER - jméno podepisujícího uživatele se zobrazí na podpisovém tabletu.
Položky MF_SIGNIMG, MF_SIGNREASON a MF_SIGNUSER používá i klient, je tedy třeba je zadat i do hidden parametrů formy.
WACOM SDK
Pro správnou funkci podepisovacího tabletu je zapotřebí jednorázová instalace SDK, která je k dispozici na instalačním mediu ESO9. Instalaci lze spustit běžným způsobem nebo bezdotykově z příkazové řádky:
msiexec /q MINIMAL=1 DOTNET=1 WIN32=0 /i Wacom-Signature-SDK-x64-4.7.7.msi
Optimalizace PDF dokumentů
Vzhledem ke stále rostoucí velikosti všech dokumentových databází jsme vytvořili automat na průběžnou optimalizaci PDF souborů uložených v DMS ESO9. Kompresní poměr původního a optimalizovaného PDF se pohybuje v rozmezí 1:2 - 1:10. Optimalizují se pouze PDF soubory bez digitálního podpisu; digitálně podepsané dokumenty zůstávají beze změny.
Automat se spouští cca 1x týdně a vždy zpracuje pouze dosud nezoptimalizované PDF dokumenty. Rychlost optimalizace je cca 500 dokumentů za minutu (záleží přitom na počtu jader počítače, na němž optimalizace běží).
V závislosti na dalších typech souborů uložených v DMS (Excelové sešity, obrázky, XML soubory) se velikost dokumentové databáze zmenší zhruba na polovinu.
Cena optimalizace:
- 2Kč/MB jednorázově - první spuštění provede optimalizaci všech PDF dokumentů od počátku provozu dané aplikace ESO9. To zmenší dokumentovou databázi o určitý počet MB, od nějž se pak odvozuje cena prvotní optimalizace. Platí se jednorázově.
- 1Kč/dokument průběžně - optimalizace se následně spouští cca 1xtýdně (častěji je to zbytečné), přičemž se zoptimalizují jen dosud nezpracované PDF dokumenty (tj. pouze přírůstek od posledního spuštění). Počet zpracovaných dokumentů za jeden měsíc je potom podkladem pro cenu. Platí se pravidelně v měsíčních (popř. čtvrtletních) intervalech.
Nápověda k automatu
Spouští se z příkazové řádky s parametry:
- db = pracovní databáze (může být s/bez přípony DOC)
- server = jméno SQL serveru
- countOptimized = 0/1 = pouze spočítat zoptimalizované dokumenty (1), nebo provést optimalizaci (0)
- fromDate = datum, od kterého počítám zoptimalizované dokumenty (pouze pro volbu countOptimized = 1)
- toDate = datum, do kterého počítám zoptimalizované dokumenty (pouze pro volbu countOptimized = 1); není-li zadán, bere se dnešní.
- user = uživatelský účet; pokud nebude zadán, použije se Windows účet, pod nímž je program spuštěn
- pwd = uživatelské heslo; pokud je zadán uživatelský účet, použije se heslo vždy; nebude-li zadáno, použije se prázdné
- profile = optimalizační profil, který se použije pro zpracování PDF. Defaultně 3 (není-li zadáno).
- 0 = Bez optimalizace.
- 1 = Optimalizace pro použití na webu.
- 2 = Optimalizace pro tisk.
- 3 = Maximální optimalizace (výchozí).
- 4 = MRC optimalizace (viz níže).
- 5 = Optimalizace pro archivaci.
MRC (Mixed Raster Content) optimalizace není vhodná pro budoucí OCR vytěžování! Poskytuje nejlepší výsledky za cenu nejnižší rychlosti (tj. trvá nejdéle).
Pokud si nejsme jisti, zda se výsledek optimalizace bude v budoucnu používat pro OCR, je lepší použít profil pro maximální optimalizaci (3).
Příklad volání:
PDF_Tools_Compress.exe db=ESO9start server=DbSrv user=ESO9Login pwd=Heslo123 profile=4