Lưu file DOC thành PDF bằng VBA và PDFCreator

Thứ sáu - 20/01/2023 18:53
Lưu file DOC thành PDF bằng VBA và PDFCreator
Trước khi bắt đầu, bạn cần cài đặt và tham khảo phần mềm sau:
Cài đặt PDFCreator (miễn phí) trong PDFCreator (https://www.pdfforge.org/)
Cài đặt xong check "PDFCreator_COM" trong phần cài đặt.
Sau khi mở Word bạn hãy thay đổi máy in thành PDFCreator. (Nếu bạn không thay đổi nó sẽ không hoạt động và nó sẽ được xuất ra từ máy in bình thường.)
Phương thức xuất PDF
Sub PDF_Output()
    Const JobTimeout As Integer = 15
    Const PDF_DPI As Integer = 300
    Const PDF_CompLevel As String = "JpegMedium"
    Const DistPath As String = "C:\Tmp\TestPDF.pdf"
    Dim PDFCreatorQueue As Queue
    Dim PrintJob As PrintJob

    Set PDFCreatorQueue = CreateObject("PDFCreator.JobQueue")

    'Chọn PDFCreator tại đây
    Application.Dialogs(xlDialogPrinterSetup).Show

    PDFCreatorQueue.Initialize

    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

    If Not PDFCreatorQueue.WaitForJob(JobTimeout) Then
      MsgBox ("Không thể xuất PDF vì không tìm thấy lệnh in.")
    Else
      Set PrintJob = PDFCreatorQueue.NextJob
      PrintJob.SetProfileByGuid ("DefaultGuid")

      'Compression
      'Thay đổi tỷ lệ nén của hình ảnh tại đây…JpegMaximum (độ nén cao) → JpegMinimum (độ nén thấp)

      Call PrintJob.SetProfileSetting("PdfSettings.CompressColorAndGray.Enabled", "True")

      'Lấy mẫu lại ảnh rõ ràng
      Call PrintJob.SetProfileSetting("PdfSettings.CompressColorAndGray.Resampling", "True")

      'Cài đặt lấy mẫu lại ảnh (DPI 300)
      Call PrintJob.SetProfileSetting("PdfSettings.CompressColorAndGray.Dpi", PDF_DPI)

      'Nén ảnh được đặt thành nén trung bình
      Call PrintJob.SetProfileSetting("PdfSettings.CompressColorAndGray.Compression", PDF_CompLevel)

      PrintJob.ConvertTo (DistPath)

      If (Not PrintJob.IsFinished Or Not PrintJob.IsSuccessful) Then
          MsgBox ("Không thể xuất các tệp sau dưới dạng PDF. :" & DistPath)
      End If
    End If

    MsgBox ("Hoàn thành xuất file PDF.")

    PDFCreatorQueue.ReleaseCom

End Sub
Có rất ít trang web mà bạn có thể tham khảo, nhưng tôi nghĩ bạn có thể làm được nếu chỉ cần xem tài liệu tham khảo chính thức.
Ngoài ra các bạn có thể tham khảo thêm theo link bên dưới:
http://docs.pdfforge.org/pdfcreator/latest/en/pdfcreator/com-interface/
http://docs.pdfforge.org/pdfcreator/latest/en/pdfcreator/com-interface/reference/settings/

Tác giả: Admin Arrebol

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Giới thiệu về Arrebol

Chào tất cả các bạn. Mình là Nguyên đây, Nguyen Arrebol chính là khởi đầu đầu tiên trên con đường học tập, tìm hiểu về IT của bản thân mình. Và mình muốn chia sẻ đến các bạn đồng trang lứa những kinh nghiệm học tập, những sở thích, quá trình mà mình tìm hiểu. Đồng thời Nguyen Arrebol sẽ là nơi lưu...

Thăm dò ý kiến

Bạn biết gì về Arrebol?

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây
Gửi phản hồi