Unione file pdf con itex

di il
20 risposte

20 Risposte - Pagina 2

  • Re: Unione file pdf con itex

    A saperlo avrei cominciato in c#
  • Re: Unione file pdf con itex

    Come promesso ecco il codice che avevo realizzato utilizzando PDFtk per unire una lista di File PDF i cui nomi sono contenuti in una ListBox chiamata ListFile2:
      Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim I As Integer
            Dim F1 As String
            Dim F2 As String
            Dim F3 As String
            Dim RETVAL As String
            Dim STRParam As String
    
            ListFile2.SelectedIndex = 0
            F1 = Chr(34) & TextPath.Text & "\" & ListFile2.SelectedItem & Chr(34) 'primo file
    
    
            For I = 1 To ListFile2.Items.Count - 1
                ListFile2.SelectedIndex = I
                If I > 1 Then
                ' SeNonEsATT(Chr(34) & TextPath.Text & "\" & "TEMP" & (I - 1) & ".pdf" & Chr(34))
                F1 = Chr(34) & TextPath.Text & "\" & "TEMP" & (I - 1) & ".pdf" & Chr(34)
                End If
                F2 = Chr(34) & TextPath.Text & "\" & ListFile2.SelectedItem & Chr(34) 'secondo file
                TextBox2.Text = F2
                F3 = Chr(34) & TextPath.Text & "\" & "TEMP" & I & ".pdf" & Chr(34)  ' output
                TextBox1.Text = F3
                'SeNonEsATT(F2)
                STRParam = "A=" & F1 & " " & "B=" & F2 & " cat A B output " & F3
                RETVAL = Shell("C:\Program Files (x86)\pdftk\bin\pdftk.exe " & STRParam, 0)
    
            Next
    
    
            CancTemp(I, TextPath.Text)
    
            Attendi()
            SeNonEsATT(TextPath.Text & "\" & "TEMP" & (I - 1) & ".pdf")
            My.Computer.FileSystem.RenameFile(TextPath.Text & "\" & "TEMP" & (I - 1) & ".pdf", Oggetto.Text & ".pdf") 
    
        End Sub
    unisco i primi due file di ListFile2 in un file chiamato TEMP che poi a sua volta diventerà il file A dellaSTRParam, poi al secondo ciclo lo diventerà TEMP2 e così via..
    anche se poco elegante funziona. il problema è che il carro a volte va d'avanti ai buoi e il codice chiama i file TEMP prima che PDFtk li crei, dando un errore di file non trovato.
    allora ho pensato di creare la seguente sub per attendere che il processo PDFtk termini per per rinominare l'ultimo file TEMP(I) che rappresenta l'unione di tutti i file PDF per poi cancellare glia altri e rinominare l'ultimo, ma mi causa lo stesso errore;
     Public Sub Attendi()
            Do
                System.Threading.Thread.Sleep(50)
            Loop Until ProcessoAttivo("pdftk") = False
            Exit Sub
        End Sub
    dove processoattivo è questa:
      Public Shared Function ProcessoAttivo(ByVal Attivo As String) As Boolean
            Dim processo() As Process
            processo = Process.GetProcessesByName(Attivo, My.Computer.Name)
            If processo.Length > 0 Then
                Return True
    
            Else
                Return False
    
            End If
        End Function
    considerato l'insuccesso ho pensato allora di usare File.Exists(FileEs) con il codice che sugue, creando questo ciclo che attende che il file TEMP (I) venga creato evitando che il codice non lo trovi, ma purtroppo va in loop e si blocca:
    Public Sub SeNonEsATT(FileEs As String)
    
            While File.Exists(FileEs) = False
                System.Threading.Thread.Sleep(500)
            End While
    
        End Sub
    ecco perchè poi ho chiesto una mano per la libreria Itext che credo sia piuì semplice e possa gestire meglio il problema..
    attendo la vostra lavata di testa...ciao ragazzi
  • Re: Unione file pdf con itex

    Ragazzi ma qualche suggerimento, un cazziatone, una banalissima ricerca su google...? Niente?
  • Re: Unione file pdf con itex

    Visto che invochi un cazziatone la mia opinione è che quello che stai cercando di fare sia di scarsa utilità, quante volte ti può capitare di dover fare una cosa di questo tipo ?
    Comunque leggi https://stackoverflow.com/questions/33043151/vb-net-merge-multiple-pdfs-into-one-and-export
  • Re: Unione file pdf con itex

    A cosa ti riferisci? Cosa mi capita di fare poche volte?
  • Re: Unione file pdf con itex

    Di unire file pdf, comunque era solo per farti il cazziatone, hai visto il link ? io l'ho provato e funziona
Devi accedere o registrarti per scrivere nel forum
20 risposte