02/06/2026 V 5.0.9 Se cambia sobrecarga de CombinaDocx a una nueva funcion CombinaDocxPdfPorBloques

This commit is contained in:
2026-06-02 20:01:45 +02:00
parent b2991586e7
commit a88b76cc67
3 changed files with 37 additions and 48 deletions

View File

@@ -2,7 +2,7 @@
<package > <package >
<metadata> <metadata>
<id>tsWPF</id> <id>tsWPF</id>
<version>5.0.8.0</version> <version>5.0.9.0</version>
<authors>Tecnosis</authors> <authors>Tecnosis</authors>
<owners>Tecnosis</owners> <owners>Tecnosis</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance> <requireLicenseAcceptance>false</requireLicenseAcceptance>

View File

@@ -55,10 +55,14 @@ Imports System.Windows
' mediante el asterisco ('*'), como se muestra a continuación: ' mediante el asterisco ('*'), como se muestra a continuación:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("5.0.8.0")> <Assembly: AssemblyVersion("5.0.9.0")>
<Assembly: AssemblyFileVersion("5.0.8.0")> <Assembly: AssemblyFileVersion("5.0.9.0")>
' Cambios en la versión 5.0.9.0
' 02/06/2026 V 5.0.9 Se cambia sobrecarga de CombinaDocx a una nueva funcion CombinaDocxPdfPorBloques
' Cambios en la versión 5.0.8.0 ' Cambios en la versión 5.0.8.0
' 02/06/2026 V 5.0.8 Se añade parametro opcional a docx.combinar ' 02/06/2026 V 5.0.8 Se añade parametro opcional a docx.combinar

View File

@@ -29,11 +29,8 @@ Namespace Utilidades
Throw New Exception(ex.Message, ex) Throw New Exception(ex.Message, ex)
End Try End Try
End Function End Function
Public Shared Function CombinaDocx(tabla As DataTable, Plantilla() As Byte, FormatoPDF As Boolean, Optional NumRegBloque As Integer = 1000, Optional manejadorCalculateVariable As CalculateDocumentVariableEventHandler = Nothing) As Byte() Public Shared Function CombinaDocxPdfPorBloques(tabla As DataTable, Plantilla() As Byte, NumRegBloque As Integer, Optional manejadorCalculateVariable As CalculateDocumentVariableEventHandler = Nothing) As Byte()
Try Try
If FormatoPDF Then
' Throw New Exception("Exportación a pdf aún no soportada")
Dim iNumBloques As Integer = (Int((tabla.Rows.Count - 1) / NumRegBloque)) - 1 Dim iNumBloques As Integer = (Int((tabla.Rows.Count - 1) / NumRegBloque)) - 1
If tabla.Rows.Count Mod NumRegBloque > 1 Then iNumBloques += 1 If tabla.Rows.Count Mod NumRegBloque > 1 Then iNumBloques += 1
Dim sp(iNumBloques) As String Dim sp(iNumBloques) As String
@@ -64,18 +61,6 @@ Namespace Utilidades
TSpdfUtils.pdf.UnePdfs(sp, msPdfUnidos) TSpdfUtils.pdf.UnePdfs(sp, msPdfUnidos)
msPdfUnidos.Seek(0, 0) msPdfUnidos.Seek(0, 0)
Return msPdfUnidos.ToArray Return msPdfUnidos.ToArray
Else
Dim sdocx As String
Do
sdocx = tsl5.Utilidades.ObtieneFicheroAleatorio("docx")
Loop Until Not IO.File.Exists(sdocx)
Dim fs As New IO.FileStream(sdocx, IO.FileMode.CreateNew, IO.FileAccess.Write)
Utilidades.Docx.Combinar(New IO.MemoryStream(Plantilla), tabla, fs, 0, tabla.Rows.Count, DevExpress.XtraRichEdit.DocumentFormat.OpenXml, manejadorCalculateVariable)
fs.Close()
Return IO.File.ReadAllBytes(sdocx) ' tsl5.Ficheros.FicheroAArrayBytes(sdocx)
End If
Catch ex As Exception Catch ex As Exception
Throw New Exception(ex.Message, ex) Throw New Exception(ex.Message, ex)
End Try End Try