Imports DigitalData.Modules.Database Imports DigitalData.Modules.Logging Imports GdPicture14 Imports Newtonsoft.Json.Linq Imports EnvelopeGenerator.Common.Jobs Imports System.IO Public Class frmFinalizePDF Private Const CONNECTIONSTRING = "Server=sDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPnqi1WMNs9fE4=;" Private Database As MSSQLServer Private LogConfig As LogConfig Private Viewer As GdViewer Private Manager As AnnotationManager Private PDFBurner As FinalizeDocument.PDFBurner Private pGDPictureLicenseKey As String = "21182889975216572111813147150675976632" Private ReadOnly _ignoredLabels As New List(Of String) From {"Date", "Datum", "ZIP", "PLZ", "Place", "Ort"} Private Sub frmFinalizePDF_Load(sender As Object, e As EventArgs) Handles MyBase.Load LogConfig = New LogConfig(LogConfig.PathType.CustomPath, Application.StartupPath) Database = New MSSQLServer(LogConfig, MSSQLServer.DecryptConnectionString(CONNECTIONSTRING)) PDFBurner = New FinalizeDocument.PDFBurner(LogConfig, pGDPictureLicenseKey, _ignoredLabels) Viewer = New GdViewer() Manager = New AnnotationManager() Dim oLicense = New LicenseManager() oLicense.RegisterKEY(pGDPictureLicenseKey) End Sub Private Function LoadAnnotationDataForReceiver() As String Dim oSql = $"SELECT VALUE FROM [TBSIG_DOCUMENT_STATUS] WHERE ENVELOPE_ID = {txtEnvelope.Text} AND RECEIVER_ID = {txtReceiver.Text}" Return Database.GetScalarValue(oSql) End Function Private Function LoadAnnotationDataForEnvelope() As DataTable Dim oSql = $"SELECT VALUE FROM [TBSIG_DOCUMENT_STATUS] WHERE ENVELOPE_ID = {txtEnvelope.Text}" Return Database.GetDatatable(oSql) End Function Private Function LoadEnvelopeDocument() As String Dim oSql = $"SELECT FILEPATH FROM [TBSIG_ENVELOPE_DOCUMENT] WHERE ENVELOPE_ID = {txtEnvelope.Text}" Return Database.GetScalarValue(oSql) End Function Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Try Dim oDocumentPath = LoadEnvelopeDocument() Dim oFileInfo = New FileInfo(oDocumentPath) Dim oTable = LoadAnnotationDataForEnvelope() Dim oJsonList = oTable.Rows. Cast(Of DataRow). Select(Function(r As DataRow) r.Item("VALUE").ToString()). ToList() Dim oBuffer As Byte() = File.ReadAllBytes(oDocumentPath) Dim oNewBuffer = PDFBurner.BurnInstantJSONAnnotationsToPDF(oBuffer, oJsonList) Dim oNewPath = Path.Combine(oFileInfo.Directory.FullName, $"{oFileInfo.Name}.burned.pdf") File.WriteAllBytes(oNewPath, oNewBuffer) Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) End Try End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Try Dim oTable = LoadAnnotationDataForEnvelope() Dim oJsonList = oTable.Rows. Cast(Of DataRow). Select(Function(r As DataRow) r.Item("VALUE").ToString()). Select(Function(s As String) JObject.Parse(s)). ToList() Dim oJObject1 = oJsonList.First() Dim oJObject2 = oJsonList.ElementAt(1) oJObject1.Merge(oJObject2) txtResult.Text = oJObject1.ToString() Catch ex As Exception End Try End Sub End Class