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ů:

Příklad podepsání PDF dokumentu stored procedurou:

DECLARE @InputPDFFileGUID NVARCHAR(80)
DECLARE @OutputPDFFileName NVARCHAR(255)
DECLARE @IDCert INT
DECLARE @MultipleSign BIT = 0
DECLARE @iOutputDocumentID INT = 0
DECLARE @Status INT = 0
DECLARE @ErrorMessage NVARCHAR(MAX)

-- GUID vstupního PDF souboru
set @InputPDFFileGUID = 'efa02085-d2fe-4c56-87c4-8799f581d18e'
-- jméno výstupního souboru - může být prázdné
set @OutputPDFFileName = ''

-- ID podepisovacího certifikátu
set @IDCert = 1

-- zavolání stored procedury
EXEC dbo.SignPDF 
    @InputPDFFileGUID, 
    @IDCert, 
    @MultipleSign, 
    @OutputPDFFileName,
    @iOutputDocumentID OUTPUT, 
    @Status OUTPUT, 
    @ErrorMessage OUTPUT

-- kontrola výsledku
IF @Status = 0 -- OK
BEGIN
    PRINT 'PDF signed successfully!'
    PRINT 'ID = ' + CAST(@iOutputDocumentID AS NVARCHAR(10))
END
ELSE           -- chyba
BEGIN
    PRINT 'Error signing PDF: ' + ISNULL(@ErrorMessage, 'Unknown error')
    PRINT 'Status code: ' + CAST(@Status AS NVARCHAR(10))
END

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:

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:

Nápověda k automatu

Spouští se z příkazové řádky s parametry:

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
DokuWiki Appliance - Powered by TurnKey Linux