Конвертация всех pdf файлов из каталога - Visual Basic .NET
Формулировка задачи:
роясь на просторах интернета, нашел библиотеку для конвертирования pdf в графические изображения(в данном случае мне нужен jpg) данный пример только для одного файла(конкретно выбранного)
вот код:
библиотеку тоже. вопрос встал вот в чем. как перепилить этот код, для того что бы пользователь указал только директорию, содержащие pdf файлы, нажал на кнопку, и все файлы, находящиеся в этой директории сконвертировались.
заранее большое спасибо!!
Решение задачи: «Конвертация всех pdf файлов из каталога»
textual
Листинг программы
Imports System.ComponentModel Imports System.Text Imports Spire.Pdf Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If BackgroundWorker1.IsBusy = False Then ProgressBar1.Visible = True Label2.Visible = True Label3.Visible = True Label4.Visible = True Label6.Visible = True Label7.Visible = True BackgroundWorker1.RunWorkerAsync() Else Exit Sub End If End Sub Dim namefile As String = "" Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork Dim startpath As String = "" For i = 0 To ListBox1.Items.Count - 1 Label7.Text = i + 1 startpath = FileIO.FileSystem.GetFileInfo(ListBox1.Items.Item(i)).DirectoryName 'находим каталог откуда родом этот pdf namefile = System.IO.Path.GetFileNameWithoutExtension(ListBox1.Items.Item(i)) 'находим имя pdf Path_convert = startpath & "" & namefile ' собираем путь для нового каталога для сохранения jpg If System.IO.Directory.Exists(Path_convert) = False Then 'если его нет, то создаем System.IO.Directory.CreateDirectory(Path_convert) End If convert_pdf(ListBox1.Items.Item(i), Path_convert) Next End Sub Dim Path_convert As String = "" Sub convert_pdf(ByVal path As String, ByVal startpath As String) ' процедура для конвертирования 'pdf file Dim file As String = path 'open pdf document Dim doc As New PdfDocument() doc.LoadFromFile(file) 'save to images Label4.Text = doc.Pages.Count For i As Integer = 0 To doc.Pages.Count - 1 Label2.Text = i + 1 Dim fileName As String = String.Format(namefile & "_{0}.jpg", i + 1) Using image As Image = doc.SaveAsImage(i) image.Save(startpath & "" & fileName, System.Drawing.Imaging.ImageFormat.Jpeg) 'System.Diagnostics.Process.Start(fileName) End Using Next doc.Close() doc.Dispose() End Sub Dim k As Integer = 0 Dim path As String = "" Sub search() ' процедура поиска файлов On Error Resume Next ListBox1.Items.Clear() k = 0 For Each foundFile As String In My.Computer.FileSystem.GetFiles(path, FileIO.SearchOption.SearchAllSubDirectories, "*.pdf") ListBox1.Items.Add(foundFile) k = k + 1 Label1.Text = k Next If ListBox1.Items.Count > 0 Then ListBox1.SelectedIndex = 0 End If End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim SFD As New FolderBrowserDialog ' выбираем каталог If SFD.ShowDialog = Windows.Forms.DialogResult.OK Then TextBox1.Text = SFD.SelectedPath path = SFD.SelectedPath search() Else Exit Sub End If End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Label2.Visible = False Label3.Visible = False Label4.Visible = False Label6.Visible = False Label7.Visible = False ProgressBar1.Visible = False ProgressBar1.Style = ProgressBarStyle.Marquee CheckForIllegalCrossThreadCalls = False End Sub Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted ProgressBar1.Visible = False Label2.Visible = False Label3.Visible = False Label4.Visible = False Label6.Visible = False Label7.Visible = False MsgBox("Все файлы успешно конвертированы") End Sub End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д