Uživatelské nástroje

Nástroje pro tento web


techdoc:dmsakce

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
techdoc:dmsakce [23.04.2025 11:47] turychtechdoc:dmsakce [23.04.2025 12:38] (aktuální) turych
Řádek 19: Řádek 19:
 <code> <code>
 <input type="button" value="Podepsat digitálně" name="Actx_Eso9lib.CPDFsign" > <input type="button" value="Podepsat digitálně" name="Actx_Eso9lib.CPDFsign" >
 +</code>
 +
 +=== 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í:\\
 +<code>
 +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
 +</code>
 +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.
 +Příklad podepsání PDF dokumentu stored procedurou:
 +<code>
 +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
 </code> </code>
  
techdoc/dmsakce.1745408845.txt.gz · Poslední úprava: 23.04.2025 11:47 autor: turych

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki
DokuWiki Appliance - Powered by TurnKey Linux