Ok, expondre acá lo que hice para resolver mi problema. De manera tal que puedan ayudarse aquellos que buscan una solución al problema que yo tuve.
Inicialmente deben bajarse esta aplicación:
Adobe Acrobat Distiller 5.0Luego de instalar dicha aplicación accesamos a Inicio -> Impresoras y Faxes.
Seleccionamos la impresora Acrobat Distiller, le damos click secundario -> Propiedades.
Luego hacemos click en Preferencias de Impresión y seleccionamos la pestaña llamada Adobe PDF Settings.
Esta Opción tiene que aparecer TILDALA o SELECCIONADA:
Do not send fonts to Distiller.Pues tenemos que
DESTILDARLA.Aceptamos y listo.
Luego, aca les dejo el codigo fuente usado...
Esto en un Módulo Bas:
Option Explicit
Function DOC2PDF(sDocFile, sPDFFile)
On Error GoTo err:
Dim FSO
Dim objWord
Dim objWordDoc
Dim objWordDocs
Dim sPrevPrinter As String
Dim objDistiller
Dim sTempFile, sFolder
Set objDistiller = CreateObject("PDFDistiller.PDFDistiller")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objWord = CreateObject("Word.Application")
Set objWordDocs = objWord.Documents
sTempFile = App.Path & "\Temp"
sDocFile = FSO.GetAbsolutePathName(sDocFile)
sFolder = FSO.GetParentFolderName(sDocFile)
If Len(sPDFFile) = 0 Then
sPDFFile = FSO.GetBaseName(sDocFile) + ".pdf"
End If
If Len(FSO.GetParentFolderName(sPDFFile)) = 0 Then
sPDFFile = sFolder + "\" + sPDFFile
End If
sPrevPrinter = objWord.ActivePrinter
objWord.ActivePrinter = "Acrobat Distiller"
Set objWordDoc = objWordDocs.Open(sDocFile)
objWord.ActiveDocument.PrintOut False, , , sTempFile
objWordDoc.Close
objWord.ActivePrinter = sPrevPrinter
objWord.Quit
Set objWord = Nothing
objDistiller.FileToPDF sTempFile, sPDFFile, "Print"
Set objDistiller = Nothing
FSO.DeleteFile (sTempFile)
Set FSO = Nothing
MsgBox "Conversión exitosa", vbInformation, "Atención"
Exit Function
err:
MsgBox err.Description, vbExclamation
End Function
Public Function CambiarImpresora(Nombre As String) As Boolean
Dim Impresora As Printer
For Each Impresora In Printers
If UCase(Impresora.DeviceName) = UCase(Nombre) Then
Set Printer = Impresora
CambiarImpresora = True
End If
Next
CambiarImpresora = False
End Function
En un formulario agregamos un Botón llamado: Command1
Codigo del Form:
Option Explicit
Private Sub Command1_Click()
Dim ImpresoraPredeterminada As String
ImpresoraPredeterminada = Printer.DeviceName
CambiarImpresora ("Acrobat Distiller")
Call DOC2PDF(App.Path & "\A.doc", App.Path & "\A.pdf")
CambiarImpresora Printer.DeviceName
End Sub
Private Sub Form_Load()
Command1.Caption = "Convertir a PDF"
End Sub
Aquí adjunto el
SOURCE