El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.
PDF a Postscript en C#
La clase PdfViewer proporciona la capacidad de imprimir documentos PDF y con la ayuda de esta clase, también podemos convertir archivos PDF a formato PostScript. Para convertir un archivo PDF en PostScript, primero instale cualquier impresora PS y simplemente imprima en archivo con la ayuda de PdfViewer. Para instalar una impresora PS, consulte las instrucciones proporcionadas por su proveedor de impresoras. El siguiente fragmento de código le muestra cómo imprimir y convertir un PDF a formato PostScript.
Comprobando el estado del trabajo de impresión
Un archivo PDF se puede imprimir en una impresora física así como en el Microsoft XPS Document Writer, sin mostrar un cuadro de diálogo de impresión, utilizando la clase PdfViewer. Al imprimir archivos PDF grandes, el proceso puede tardar mucho tiempo, por lo que el usuario puede no estar seguro de si el proceso de impresión se completó o encontró un problema. Para determinar el estado de un trabajo de impresión, utilice la propiedad PrintStatus. El siguiente fragmento de código le muestra cómo imprimir el archivo PDF en un archivo XPS y obtener el estado de impresión.
Obtener/Establecer el nombre del propietario del trabajo de impresión
A veces surge la necesidad de obtener o establecer el nombre del propietario del trabajo de impresión (es decir, el usuario real que presionó un botón de impresión en una página web). Esta información es necesaria al imprimir el archivo PDF. Para cumplir con este requisito, se utiliza la propiedad PrinterJobName.
Usando suplantación
Otro enfoque para obtener el nombre del propietario del trabajo de impresión es usar suplantación (ejecutar rutinas de impresión en el contexto de otro usuario) o el usuario puede cambiar el nombre del propietario directamente utilizando la rutina SetJob.
Tenga en cuenta que no hay posibilidad de establecer el valor del propietario utilizando la API de impresión de Aspose.PDF por consideraciones de seguridad. La propiedad PrinterJobName puede ser utilizada para establecer el valor de la columna del nombre del documento en la aplicación de impresión del spooler. El fragmento de código compartido anteriormente solo muestra cómo el usuario puede unir el nombre de usuario en la columna del nombre del documento (por ejemplo, utilizando la sintaxis UserName\documentName). Pero el establecimiento de las columnas de propietario puede ser implementado de las siguientes maneras directamente por el usuario:
Suplantación. Dado que el valor de la columna del propietario contiene el valor del usuario que ejecuta el código de impresión, hay una forma de invocar la API de impresión de Aspose.PDF dentro del contexto de otro usuario. Por ejemplo, eche un vistazo a la solución descrita aquí. Usando esta clase Impersonator el usuario puede alcanzar su objetivo:
Usando la API del spooler y la rutina SetJob
El siguiente fragmento de código muestra cómo imprimir algunas páginas de un archivo PDF en modo Simplex y algunas páginas en modo Dúplex.