 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
ferpb Invitado
|
Publicado: Lun 19 Sep, 2005 11:46 am Asunto: Imprimir a PostScript a través de MS Word |
|
|
Hola,
necesito imprimir documentos de word de forma automática hacia formato pdf con la impresora PDF de Acrobat.
Tengo un pequeño trozo de código, similar a otros casos que he visto por aquí que os muestro a continuación:
| Código: |
String sFicheroPlantilla = "c:\\wordprinterw\\documento.doc";
String sFicheroGenerado = "c:\\wordprinterw\\documento.pdf";
vWord = CreateOleObject("Word.Application");
vWord.OlePropertySet("Visible", false);
vWord.OlePropertySet("DisplayAlerts", false);
vDocumentos = vWord.OlePropertyGet("Documents");
vDocumento = vDocumentos.OleFunction("Open",
sFicheroPlantilla.c_str(), // Documento
false, // Confirmar conversiones
true, // Modo se solo lectura
false, // Añadir al menu de ficheros recientes
"" // Clave del documento
);
/*
PrintOut(Background, Append, Range, OutputFileName, From, To,
Item, Copies, Pages, PageType, PrintToFile, Collate, FileName,
ActivePrinterMacGX, ManualDuplexPrint)
Range:
0 Prints the entire document
1 Prints the selection
2 Prints the current page
3 Prints the range of pages specified by the From and To parameters
4 Prints the range of pages specified by Pages parameter
*/
Variant vAux = "";
Variant vBackground= true;
Variant vAppend = false;
Variant vRange = 0;
Variant vFicheroGenerado = "c:\\wordprintew\\documento.pdf";
Variant vFicheroPlantilla = "c:\\wordprintew\\documento.doc";
Variant vPrintToFile = false;
vWord.OleProcedure("PrintOut",vBackground,vAppend,vRange,vFicheroGenerado,vAux,vAux,vAux,vAux,vAux,vAux,vPrintToFile,vAux,vFicheroPlantilla);
while (vWord.OlePropertyGet("BackgroundPrintingStatus")>0)
{
Sleep(2000);
}
// vDocumento.OleProcedure( "Close", -1);
vWord.OleProcedure("Quit");
vWord = vDocumentos = vDocumento = Unassigned;
|
Bien, pues el problema me aparece al llamar al método PrintOut. Si lo llamo sin parámetros, por defecto, funciona bien. Pero si trato de indicar el archivo de salida OutputFilename, se produce una exepción en MSWord indicando que su tipo es incorrecto.
Como podeis observar paso un Variant conteniendo una ruta para el archivo de salida, no entiendo que puede pasar.
Por otra parte, como habreis podido deducir, el propósito es generar un PDF a partir de un documento de Word de forma automática sin necesidad de introducir ningún valor a mano. Si empleo PrintOut sin parámetros abre la caja de Guardar como... y eso es lo que quiero evitar.
Quedo abierto a sugerencias, y perdón por el ladrillo.
Un saludo. |
|
| Volver arriba |
|
 |
ferpb Invitado
|
Publicado: Lun 19 Sep, 2005 11:49 am Asunto: |
|
|
Nota:
en el código sobran algunas líneas, las referentes a vDocumentos y vDocumento, fruto de las pruebas variadas que he ido realizando.
Ruego disculpas. |
|
| Volver arriba |
|
 |
ferpb Invitado
|
Publicado: Lun 19 Sep, 2005 11:50 am Asunto: |
|
|
| Finalmente trataré de crear archivos PS con MS Publisher Color Printer, por eso el título del post. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|