- 3.0.8.0 2026-08-03 Correcciones clase FirmaCanvas
This commit is contained in:
@@ -3,4 +3,12 @@
|
|||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
||||||
</startup>
|
</startup>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
</configuration>
|
</configuration>
|
||||||
@@ -14,6 +14,8 @@
|
|||||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
@@ -48,16 +50,83 @@
|
|||||||
<OptionInfer>On</OptionInfer>
|
<OptionInfer>On</OptionInfer>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Reference Include="BouncyCastle.Crypto, Version=1.9.0.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Portable.BouncyCastle.1.9.0\lib\net40\BouncyCastle.Crypto.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.9\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.DependencyInjection, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.9.0.9\lib\net462\Microsoft.Extensions.DependencyInjection.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.9\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.Logging, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.Logging.9.0.9\lib\net462\Microsoft.Extensions.Logging.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.9\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.Options, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.Options.9.0.9\lib\net462\Microsoft.Extensions.Options.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Extensions.Primitives, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Extensions.Primitives.9.0.9\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Deployment" />
|
<Reference Include="System.Deployment" />
|
||||||
|
<Reference Include="System.Diagnostics.DiagnosticSource, Version=9.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.9.0.9\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.IO.Compression" />
|
||||||
|
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple" />
|
||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="TSpdf.bouncy-castle-adapter, Version=3.0.0.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\TSpdf.bouncy-castle-adapter.3.0.4\lib\net48\TSpdf.bouncy-castle-adapter.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="TSpdf.bouncy-castle-connector, Version=3.0.0.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\TSpdf.bouncy-castle-connector.3.0.4\lib\net48\TSpdf.bouncy-castle-connector.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="TSpdf.bouncy-castle-fips-adapter, Version=3.0.0.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\TSpdf.bouncy-castle-fips-adapter.3.0.4\lib\netstandard2.0\TSpdf.bouncy-castle-fips-adapter.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="TSpdf.commons, Version=3.0.0.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\TSpdf.commons.3.0.4\lib\net48\TSpdf.commons.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="TSpdf.io, Version=3.0.0.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\TSpdf.io.3.0.4\lib\net48\TSpdf.io.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="TSpdf.kernel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\TSpdf.kernel.3.0.4\lib\net48\TSpdf.kernel.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Import Include="Microsoft.VisualBasic" />
|
<Import Include="Microsoft.VisualBasic" />
|
||||||
@@ -118,6 +187,7 @@
|
|||||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||||
</None>
|
</None>
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\tsPDFUtilsCore\tsPDFUtilsCore.csproj">
|
<ProjectReference Include="..\tsPDFUtilsCore\tsPDFUtilsCore.csproj">
|
||||||
@@ -130,4 +200,11 @@
|
|||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||||
|
<Import Project="..\packages\System.ValueTuple.4.6.2\build\net471\System.ValueTuple.targets" Condition="Exists('..\packages\System.ValueTuple.4.6.2\build\net471\System.ValueTuple.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>Este proyecto hace referencia a los paquetes NuGet que faltan en este equipo. Use la restauración de paquetes NuGet para descargarlos. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkID=322105. El archivo que falta es {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\System.ValueTuple.4.6.2\build\net471\System.ValueTuple.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.ValueTuple.4.6.2\build\net471\System.ValueTuple.targets'))" />
|
||||||
|
</Target>
|
||||||
</Project>
|
</Project>
|
||||||
12
Depurador TSpdfUtils/Form1.Designer.vb
generated
12
Depurador TSpdfUtils/Form1.Designer.vb
generated
@@ -23,6 +23,7 @@ Partial Class Form1
|
|||||||
<System.Diagnostics.DebuggerStepThrough()> _
|
<System.Diagnostics.DebuggerStepThrough()> _
|
||||||
Private Sub InitializeComponent()
|
Private Sub InitializeComponent()
|
||||||
Me.Button1 = New System.Windows.Forms.Button()
|
Me.Button1 = New System.Windows.Forms.Button()
|
||||||
|
Me.Button2 = New System.Windows.Forms.Button()
|
||||||
Me.SuspendLayout()
|
Me.SuspendLayout()
|
||||||
'
|
'
|
||||||
'Button1
|
'Button1
|
||||||
@@ -34,11 +35,21 @@ Partial Class Form1
|
|||||||
Me.Button1.Text = "Button1"
|
Me.Button1.Text = "Button1"
|
||||||
Me.Button1.UseVisualStyleBackColor = True
|
Me.Button1.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
|
'Button2
|
||||||
|
'
|
||||||
|
Me.Button2.Location = New System.Drawing.Point(363, 214)
|
||||||
|
Me.Button2.Name = "Button2"
|
||||||
|
Me.Button2.Size = New System.Drawing.Size(75, 23)
|
||||||
|
Me.Button2.TabIndex = 1
|
||||||
|
Me.Button2.Text = "Button2"
|
||||||
|
Me.Button2.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
'Form1
|
'Form1
|
||||||
'
|
'
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||||
Me.ClientSize = New System.Drawing.Size(800, 450)
|
Me.ClientSize = New System.Drawing.Size(800, 450)
|
||||||
|
Me.Controls.Add(Me.Button2)
|
||||||
Me.Controls.Add(Me.Button1)
|
Me.Controls.Add(Me.Button1)
|
||||||
Me.Name = "Form1"
|
Me.Name = "Form1"
|
||||||
Me.Text = "Form1"
|
Me.Text = "Form1"
|
||||||
@@ -47,4 +58,5 @@ Partial Class Form1
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend WithEvents Button1 As Button
|
Friend WithEvents Button1 As Button
|
||||||
|
Friend WithEvents Button2 As Button
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
Imports System.IO
|
Imports System
|
||||||
|
Imports System.IO
|
||||||
Imports System.Security.Cryptography
|
Imports System.Security.Cryptography
|
||||||
Imports System.Security.Cryptography.X509Certificates
|
Imports System.Security.Cryptography.X509Certificates
|
||||||
Imports TSpdfUtils
|
Imports TSpdfUtils
|
||||||
|
Imports tsPDFUtilsCore
|
||||||
|
Imports TSpdf
|
||||||
|
|
||||||
|
|
||||||
Public Class Form1
|
Public Class Form1
|
||||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||||
@@ -48,8 +52,8 @@ Public Class Form1
|
|||||||
Public Shared Sub FirmaPDFPFX(Razon As String, Contacto As String, Localizacion As String, FicheroPdfDef As String, EliminaFirmasAnteriores As Boolean, Optional EliminaFicheroDestino As Boolean = False)
|
Public Shared Sub FirmaPDFPFX(Razon As String, Contacto As String, Localizacion As String, FicheroPdfDef As String, EliminaFirmasAnteriores As Boolean, Optional EliminaFicheroDestino As Boolean = False)
|
||||||
Dim p As String = "prueba1234."
|
Dim p As String = "prueba1234."
|
||||||
Try
|
Try
|
||||||
Dim bpfx = IO.File.ReadAllBytes("C:\tmp\mmm.pfx")
|
Dim bpfx = System.IO.File.ReadAllBytes("C:\tmp\mmm.pfx")
|
||||||
Dim bpdf = IO.File.ReadAllBytes("c:\tmp\E_2026-00322_sellado.pdf")
|
Dim bpdf = System.IO.File.ReadAllBytes("c:\tmp\E_2026-00322_sellado.pdf")
|
||||||
Dim pk As New X509Certificate2(bpfx, p, X509KeyStorageFlags.Exportable)
|
Dim pk As New X509Certificate2(bpfx, p, X509KeyStorageFlags.Exportable)
|
||||||
CambiaKeyContainerName(pk)
|
CambiaKeyContainerName(pk)
|
||||||
If pk.NotAfter < Now Then Throw New Exception("El certificado está caducado")
|
If pk.NotAfter < Now Then Throw New Exception("El certificado está caducado")
|
||||||
@@ -57,8 +61,8 @@ Public Class Form1
|
|||||||
Dim ms As New MemoryStream
|
Dim ms As New MemoryStream
|
||||||
'tsUtilsPDF.pdf.FirmaPDF(pk, "", PdfStream, ms, Razon, Contacto, Localizacion, RutaTmp, EliminaFirmasAnteriores)
|
'tsUtilsPDF.pdf.FirmaPDF(pk, "", PdfStream, ms, Razon, Contacto, Localizacion, RutaTmp, EliminaFirmasAnteriores)
|
||||||
TSpdfUtils.Firmas.FirmaPDF(bpfx, p, "", New MemoryStream(bpdf), ms, Razon, Contacto, Localizacion, EliminaFirmasAnteriores)
|
TSpdfUtils.Firmas.FirmaPDF(bpfx, p, "", New MemoryStream(bpdf), ms, Razon, Contacto, Localizacion, EliminaFirmasAnteriores)
|
||||||
If EliminaFicheroDestino AndAlso IO.File.Exists(FicheroPdfDef) Then IO.File.Delete(FicheroPdfDef)
|
If EliminaFicheroDestino AndAlso System.IO.File.Exists(FicheroPdfDef) Then System.IO.File.Delete(FicheroPdfDef)
|
||||||
IO.File.WriteAllBytes("c:\tmp\pruebafirmada.pdf", ms.ToArray)
|
System.IO.File.WriteAllBytes("c:\tmp\pruebafirmada.pdf", ms.ToArray)
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Throw New Exception(ex.Message, ex)
|
Throw New Exception(ex.Message, ex)
|
||||||
End Try
|
End Try
|
||||||
@@ -71,4 +75,88 @@ Public Class Form1
|
|||||||
rsa2.ImportParameters(rsa.ExportParameters(True))
|
rsa2.ImportParameters(rsa.ExportParameters(True))
|
||||||
Certificado.PrivateKey = rsa2
|
Certificado.PrivateKey = rsa2
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
Private Shared Sub FirmaDocumentoCFO(PdfOrigen As String, PdfDestino As String)
|
||||||
|
Dim br As Brush
|
||||||
|
Dim Imagen As Byte() = IO.File.ReadAllBytes("c:\tmp\OPENCOAS_LOGO.png")
|
||||||
|
'Dim TextoArt As String = ""
|
||||||
|
'If Doc.tiposdocumentosCOAS.Descripcion = "C.F.O. VISADO UNICO" Then
|
||||||
|
' TextoArt = "Conforme al Art. 5.1 del R.D. 1000/2010"
|
||||||
|
'End If
|
||||||
|
'If ds.NumeroExpedienteDocumentoOriginal.ToString <> "" Then
|
||||||
|
' ' probablemente haya que reducir la fuente en este caso
|
||||||
|
' TextoArt = "Sustituye al visado el " & ds.FechaVisadoOriginal.ToString("dd-MM-yyyy") & ". " & ds.NumeroExpedienteDocumentoOriginal.Split(" ")(1)
|
||||||
|
'Else
|
||||||
|
' Dim releds As relacionesentredocumentos = Doc.RelacionesComoHijo.FirstOrDefault(Function(x) x.Tipo = TipoRelacionEntreDocumentosEnum.SUSTITUCION)
|
||||||
|
' If releds IsNot Nothing Then
|
||||||
|
' Dim sFecVis As String
|
||||||
|
' If releds.DocumentoPadre.NumeroExpedienteDocumento.StartsWith("24/003566") OrElse releds.DocumentoPadre.NumeroExpedienteDocumento.StartsWith("24/003565") Then
|
||||||
|
' sFecVis = "22-12-2023"
|
||||||
|
' Else
|
||||||
|
' If releds.DocumentoPadre.FechaVisado.HasValue = False Then Throw New Exception("El documento al que sustituye no tiene fecha de visado")
|
||||||
|
' sFecVis = releds.DocumentoPadre.FechaVisado.Value.ToString("dd-MM-yyyy")
|
||||||
|
' End If
|
||||||
|
' TextoArt = "Sustituye al visado " & releds.DocumentoPadre.Documento & " el " & sFecVis
|
||||||
|
' End If
|
||||||
|
'End If
|
||||||
|
|
||||||
|
'If ds.TipoSello.StartsWith("2") Or ds.TipoSello.StartsWith("3") Then
|
||||||
|
' br = Brushes.Green
|
||||||
|
' Imagen = My.Resources.CFO_Verde
|
||||||
|
'Else
|
||||||
|
' br = Brushes.DarkBlue
|
||||||
|
' Imagen = My.Resources.CFO_Azul
|
||||||
|
'End If
|
||||||
|
Dim listadoTextos As List(Of DatosTextos) = New List(Of DatosTextos)
|
||||||
|
Dim listadoImagenes As List(Of DatosImagenFirma) = New List(Of DatosImagenFirma)
|
||||||
|
|
||||||
|
Dim Texto1 As New DatosTextos
|
||||||
|
Texto1.texto = "Solicitud Certificado Digital del COAS"
|
||||||
|
Texto1.size = 7.25
|
||||||
|
Texto1.NombreFuente = "Montserrat-Regular"
|
||||||
|
Texto1.PosicionEsquina = EsquinaEnum.INFERIOR_IZQUIERDA
|
||||||
|
Texto1.anguloRotacion = 270
|
||||||
|
Texto1.distanciaX = 7
|
||||||
|
Texto1.distanciaY = 715
|
||||||
|
Texto1.colorTexto = br
|
||||||
|
Texto1.estiloTexto = FontStyle.Regular
|
||||||
|
Texto1.AlineacionTexto = AlineamientoEnum.IZQUIERDA
|
||||||
|
|
||||||
|
listadoTextos.Add(Texto1)
|
||||||
|
|
||||||
|
Dim imagenFondo As New DatosImagenFirma
|
||||||
|
imagenFondo.PosicionEsquina = EsquinaEnum.INFERIOR_IZQUIERDA
|
||||||
|
imagenFondo.Alto = 100
|
||||||
|
imagenFondo.Ancho = 100
|
||||||
|
imagenFondo.PosicionX = 0
|
||||||
|
imagenFondo.PosicionY = 0
|
||||||
|
imagenFondo.AnguloRotacion = 270
|
||||||
|
imagenFondo.Imagen = Imagen
|
||||||
|
|
||||||
|
listadoImagenes.Add(imagenFondo)
|
||||||
|
|
||||||
|
Dim listadoFuentes As New List(Of DatosFuente)
|
||||||
|
|
||||||
|
Dim dfr As New DatosFuente
|
||||||
|
With dfr
|
||||||
|
.NombreFuente = "Montserrat-Regular"
|
||||||
|
.memoryFont = IO.File.ReadAllBytes("C:\tecnosis.tfs\Clientes\COAS\GestionWebCOAS\Content\Fuentes\Montserrat_Regular.ttf")
|
||||||
|
End With
|
||||||
|
listadoFuentes.Add(dfr)
|
||||||
|
Dim dfb As New DatosFuente
|
||||||
|
With dfb
|
||||||
|
.NombreFuente = "Montserrat-Bold"
|
||||||
|
.memoryFont = IO.File.ReadAllBytes("C:\tecnosis.tfs\Clientes\COAS\GestionWebCOAS\Content\Fuentes\Montserrat_Bold.ttf")
|
||||||
|
End With
|
||||||
|
listadoFuentes.Add(dfb)
|
||||||
|
|
||||||
|
Dim medidas As Kernel.Geom.Rectangle
|
||||||
|
'medidas = New Kernel.Geom.Rectangle(0, 0, 48.1889648, 396.8502)
|
||||||
|
medidas = New Kernel.Geom.Rectangle(0, 0, 48.1889648, 312.735)
|
||||||
|
|
||||||
|
TSpdfUtils.FirmaCanvas.FirmaPDFVisible(bPfx, ClavePFX, ClavePDF, PdfOrigen, PdfDestino, Razon, Contacto, Localizacion, bimagen, False, False, NombreCampoFirma, dcf, BloquearDocumento)
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
25
Depurador TSpdfUtils/packages.config
Normal file
25
Depurador TSpdfUtils/packages.config
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.9" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Extensions.DependencyInjection" version="9.0.9" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.9" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Extensions.Logging" version="9.0.9" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.9" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Extensions.Options" version="9.0.9" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.Extensions.Primitives" version="9.0.9" targetFramework="net48" />
|
||||||
|
<package id="Newtonsoft.Json" version="13.0.2" targetFramework="net48" />
|
||||||
|
<package id="Portable.BouncyCastle" version="1.9.0" targetFramework="net48" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
|
||||||
|
<package id="System.Diagnostics.DiagnosticSource" version="9.0.9" targetFramework="net48" />
|
||||||
|
<package id="System.Memory" version="4.5.5" targetFramework="net48" />
|
||||||
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" />
|
||||||
|
<package id="System.ValueTuple" version="4.6.2" targetFramework="net48" />
|
||||||
|
<package id="TSpdf.bouncy-castle-adapter" version="3.0.4" targetFramework="net48" />
|
||||||
|
<package id="TSpdf.bouncy-castle-connector" version="3.0.4" targetFramework="net48" />
|
||||||
|
<package id="TSpdf.bouncy-castle-fips-adapter" version="3.0.4" targetFramework="net48" />
|
||||||
|
<package id="TSpdf.commons" version="3.0.4" targetFramework="net48" />
|
||||||
|
<package id="TSpdf.io" version="3.0.4" targetFramework="net48" />
|
||||||
|
<package id="TSpdf.kernel" version="3.0.4" targetFramework="net48" />
|
||||||
|
</packages>
|
||||||
1214
TSPdfUtils/FirmaCanvas.vb
Normal file
1214
TSPdfUtils/FirmaCanvas.vb
Normal file
File diff suppressed because it is too large
Load Diff
@@ -449,9 +449,8 @@ Public Class Firmas
|
|||||||
|
|
||||||
Public Shared Sub FirmaPDFVisible(bPfx As Byte(), ByVal ClavePFX As String, ByVal ClavePDF As String, ByVal PdfOrigen As Byte(), ByVal pdfDestino As Stream, ByVal Razon As String, ByVal Contacto As String, ByVal Localizacion As String, ByVal listadoTextos As List(Of DatosTextos), ByVal listadoImagenes As List(Of DatosImagenFirma), Optional listadoFuentes As List(Of DatosFuente) = Nothing, Optional EliminarFirmasAnteriores As Boolean = False, Optional ObviarSeguridad As Boolean = True, Optional NombreCampoFirma As String = "", Optional DatosCampoFirma As DatosNuevoCampoFirma = Nothing, Optional BloquearDocumento As Boolean = False)
|
Public Shared Sub FirmaPDFVisible(bPfx As Byte(), ByVal ClavePFX As String, ByVal ClavePDF As String, ByVal PdfOrigen As Byte(), ByVal pdfDestino As Stream, ByVal Razon As String, ByVal Contacto As String, ByVal Localizacion As String, ByVal listadoTextos As List(Of DatosTextos), ByVal listadoImagenes As List(Of DatosImagenFirma), Optional listadoFuentes As List(Of DatosFuente) = Nothing, Optional EliminarFirmasAnteriores As Boolean = False, Optional ObviarSeguridad As Boolean = True, Optional NombreCampoFirma As String = "", Optional DatosCampoFirma As DatosNuevoCampoFirma = Nothing, Optional BloquearDocumento As Boolean = False)
|
||||||
Dim StreamPfx As New MemoryStream(bPfx)
|
Dim StreamPfx As New MemoryStream(bPfx)
|
||||||
Dim ms As New MemoryStream
|
|
||||||
Dim fso = New MemoryStream(PdfOrigen)
|
Dim fso = New MemoryStream(PdfOrigen)
|
||||||
FirmaPDFVisible(StreamPfx, ClavePFX, ClavePDF, fso, ms, Razon, Contacto, Localizacion, listadoTextos, listadoImagenes, listadoFuentes, EliminarFirmasAnteriores, ObviarSeguridad, NombreCampoFirma, DatosCampoFirma, BloquearDocumento)
|
FirmaPDFVisible(StreamPfx, ClavePFX, ClavePDF, fso, pdfDestino, Razon, Contacto, Localizacion, listadoTextos, listadoImagenes, listadoFuentes, EliminarFirmasAnteriores, ObviarSeguridad, NombreCampoFirma, DatosCampoFirma, BloquearDocumento)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -19,16 +19,19 @@
|
|||||||
<AssemblyName>TSpdfUtils</AssemblyName>
|
<AssemblyName>TSpdfUtils</AssemblyName>
|
||||||
<PackageId>TSpdfUtils</PackageId>
|
<PackageId>TSpdfUtils</PackageId>
|
||||||
<PackageTags>libreria, netstandard2.0</PackageTags>
|
<PackageTags>libreria, netstandard2.0</PackageTags>
|
||||||
<AssemblyVersion>3.0.7.0</AssemblyVersion>
|
<AssemblyVersion>3.0.10.0</AssemblyVersion>
|
||||||
<FileVersion>3.0.7.0</FileVersion>
|
<FileVersion>3.0.10.0</FileVersion>
|
||||||
<Version>3.0.7.0</Version>
|
<Version>3.0.10.0</Version>
|
||||||
<Authors>Manuel</Authors>
|
<Authors>Manuel</Authors>
|
||||||
<Company>Tecnosis S.A</Company>
|
<Company>Tecnosis S.A</Company>
|
||||||
<Description>Utilidades de tratamiento de pdf, de firmas digitales e imagenes.</Description>
|
<Description>Utilidades de tratamiento de pdf, de firmas digitales e imagenes.</Description>
|
||||||
<PackageReleaseNotes>
|
<PackageReleaseNotes>
|
||||||
- 3.0.7.0 2026-05-20 Se elimina PdfSignatureTools, Nuevo metodo ObtenerPropiedadDePdf
|
- 3.0.8.0 2026-08-03 Correcciones clase FirmaCanvas
|
||||||
- 3.0.6.0 2026-05-20 Correccion PdfSignatureTools
|
- 3.0.8.0 2026-08-03 Se agregan Sobrecargas a la clase FirmaCanvas
|
||||||
- 3.0.5.0 2026-05-20 Nuevas rutinas en PdfSignatureTools
|
- 3.0.8.0 2026-08-03 Se agrega clase FirmaCanvas
|
||||||
|
- 3.0.7.0 2026-08-01 Se elimina PdfSignatureTools, Nuevo metodo ObtenerPropiedadDePdf
|
||||||
|
- 3.0.6.0 2026-08-01 Correccion PdfSignatureTools
|
||||||
|
- 3.0.5.0 2026-08-01 Nuevas rutinas en PdfSignatureTools
|
||||||
- 3.0.4.0 2026-05-20 Actualización tsPDF
|
- 3.0.4.0 2026-05-20 Actualización tsPDF
|
||||||
- 3.0.0.0 2026-05-20 Correcciones dependencias Microsoft.Extensions.Logging
|
- 3.0.0.0 2026-05-20 Correcciones dependencias Microsoft.Extensions.Logging
|
||||||
- 3.0.0.0 2025-10-23 Actualización de tspdfutilscore
|
- 3.0.0.0 2025-10-23 Actualización de tspdfutilscore
|
||||||
|
|||||||
Reference in New Issue
Block a user