Ciao,
Problema:
Stampo una serie di file con PDFCreator e naturalmente mi si apre il programma associato al tipo di file che stampo, ad es. AcroRd32 in caso di PDF.
Finché non chiudo manualmente il processo la mia applicazione non va avanti e resta ferma alla prima stampa
Ecco il codice
l'applicazione resta ferma alla rigacodice:Public Sub cConvertFile(ByVal Filetyp As String, ByRef FileDaConvertire As String, Optional ByVal SubFormat As String = "PDF/A-1b") Dim fname As String, fi As FileInfo, DefaultPrinter As String Dim opt As PDFCreator.clsPDFCreatorOptions Dim opt2 As PDFCreator.clsPDFCreator Dim NomeFile As String Dim PosizionePunto As Integer Dim PosizioneSlash As Integer Dim Este As Integer Dim Processo As System.Diagnostics.Process() Dim ProcessoPDF As System.Diagnostics.Process() PosizionePunto = InStr(FileDaConvertire, ".") PosizioneSlash = InStrRev(FileDaConvertire, "\") + 1 Este = Len(FileDaConvertire) - PosizionePunto MsgBox(FileDaConvertire & ";" & PosizionePunto & ";" & PosizioneSlash) NomeFile = Mid(FileDaConvertire, PosizioneSlash, Len(FileDaConvertire) - PosizioneSlash - Este) With OpenFileDialog1 .Multiselect = False .CheckFileExists = True .CheckPathExists = True '.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*" End With opt = _PDFCreator.cOptions With opt .UseAutosave = 1 .UseAutosaveDirectory = 1 .AutosaveDirectory = Percorso & "\PDFA\" .AutosaveFormat = 9 If Filetyp = 5 Then .TIFFResolution = 72 End If opt.AutosaveFilename = NomeFile End With With _PDFCreator .cOptions = opt .cClearCache() DefaultPrinter = .cDefaultPrinter .cDefaultPrinter = "PDFCreator" .cPrintFile(FileDaConvertire) ReadyState = False .cPrinterStop = False End With With Timer1 .Interval = maxTime * 1000 .Enabled = True Do While Not ReadyState And .Enabled Application.DoEvents() Loop .Enabled = False End With If Not ReadyState Then MsgBox("Creating printer test page as pdf." & vbCrLf & vbCrLf & _ "An error is occured: Time is up!", MsgBoxStyle.Exclamation, Me.Text) End If _PDFCreator.cPrinterStop = True _PDFCreator.cDefaultPrinter = DefaultPrinter opt = Nothing End Sub
fino a quando non chiudo manualmente il processo.codice:.cPrintFile(FileDaConvertire)
Non saprei proprio in quale istante far chiudere il processo con
Idee?codice:Processo = Process.GetProcessesByName("AcroRd32") Processo(0).Kill()
Grazie

Rispondi quotando
Impostalo a zero e dovrebbe evitare di aprire il reader.
