Abrir una incidencia
Chatee con nosotros

Asistencia Remota

Ofrecemos asistencia remota en los casos en los que el problema no se pueda resolver por chat o llamadas de teléfono. Los clientes de la Garantía de Software tienen derecho a una asistencia VIP premium por parte de nuestro equipo veterano.

Descargar TeamViewer

Preguntas Frecuentes para PdfPrinting.NET

PdfPrint tiene 3 diferentes opciones de escala:
1. Tamaño Real - deja la página como es. Si el contenido de la página es más grande al del área de impresión de la impresora, esa parte del contenido será truncado.
2. Ajustar al margen - si el contenido de la página es más grande o pequeño que la área de impresión, el tamaño del contenido será ajustado para que pueda estar dentro del área de impresión.
3. Reducir a los márgenes - si el contenido de la página es más grande que la área de impresión, el contenido será reducido de tamaño. Si no es más grande que el área de impresión, el contenido se mantendrá del mismo tamaño.

Diferentes impresoras cuentan con diferentes áreas de impresión.
La biblioteca de PdfPrint soporta las fuentes de papel.

private static PaperSource GetPaperSource(PrinterSettings printerSettings, string paperSourceName)
{
    foreach (PaperSource paperSource in printerSettings.PaperSources)
    {
        if (paperSource.ToString().Equals(paperSource))
        {
            return paperSource;
       }
    }
    return null; // Fuente de papel no encontrada
}

var pdfprint = new PdfPrint("your company name", "your key");
var printerSettings = new PrinterSettings();
pdfPrint.PaperSource = GetPaperSource("name of your input tray"); // Es sensible a mayúsculas y minúsculas

La biblioteca PdfPrint no tiene soporte para bandejas de salida.
La clase .NET PrinterSettings tiene propiedades para establecer la Fuente de Papel y la Fuente de Papel como la configuración estándar.
Las bandejas de salida no son una propiedad estándar de impresora y cada impresora que las soporta las maneja de manera diferente por lo que no es posible tener una solución general que funcione con todas las impresoras.

¿Qué hacer si desee imprimir a una bandeja de salida específica?
La única opción que tiene es usar el SettingDialog de propiedades para mostrar el diálogo de configuración de la Impresora.
Si no se establece mediante SettingDialog, la bandeja de salida default de la impresora será utilizada.

Sí, sí puede.

La cosa más importante a saber es que los usuarios corriendo un servicio Windows en donde se usa pdfprint deben tener los derechos para imprimir en la impresora seleccionada o de lo contrario no funcionará.

Configure un servicio Windows para que corra como una cuenta tipo usuario:

Cuenta tipo usuario – ocasiona que el sistema solicite un nombre de usuario y contraseñas válidos cuando el servicio es instalado y corre bajo el contexto de una cuenta específica para un solo usuario en la red.

Si usted quiere comenzar un servicio Windows como una cuenta local de sistema, entonces la cuenta local de sistema debe tener derechos para imprimir.
NOTE: Las siguientes instrucciones se encontraron en: http://support.microsoft.com/kb/184291
Para establecer las impresoras para la cuenta SISTEMA, haga lo siguiente:

Este método requiere que usted modifique el registro usando el Editor de Registro.

ADVERTENCIA: Usar el Editor de Registro de manera incorrecta puede ocasionar problemas serios y en todo el sistema que podrían requerir que vuelva a instalar Windows para corregirlos.
Microsoft no puede garantizar que los problemas que resulten de usar el Editor de Registro puedan ser resueltos.
Use esta herramienta bajo su propio riesgo.
Asegúrese que el usuario que actualmente está en sesión en el servidor cuente con las impresoras deseadas ya instaladas.
Corra el Editor de Registro (Regedit.exe).
Seleccione la siguiente llave:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Current Version\Devices

Del menú de Registro, haga clic en Export Registry File (Exportar Archivo de Registro).
En el cuadro de texto File Name text, escriba c:\Devices.reg.
Seleccione la siguiente llave:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Current Version\PrinterPorts

Del menú de Registro, haga clic en Export Registry File (Exportar Archivo de Registro).
En el cuadro de texto File Name text, escriba c:\PrinterPorts.reg.
Seleccione la siguiente llave:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Current Version\Windows

Del menú de Registro, haga clic en Export Registry File (Exportar Archivo de Registro).
En el cuadro de texto File Name, escriba c:\Windows.reg.
Desde el botón de Iniciar, seleccione Ejecutar. Abra Devices.reg en Notepad al escribir Notepad Devices.reg en el cuadro de diálogo de Ejecutar Run.
Reemplace la llave HKEY_CURRENT_USER con HKEY_USERS\.DEFAULT
Guarde el archivo. Ahora impórtelo en el registro al hacer doble clic en el archive en Windows Explorer.
Repita los pasos hechos para Devices.reg para PrinterPorts.reg y para Windows.reg.
Estos pasos funcionan solamente para impresoras locales.

Si usted está usando el método PrintWithAdobe, por favor lea también ¿Puede PdfPrint usar Adobe para impresión silenciosa?

Ejemplos de códigos con el archivo de solución Visual Studio se pueden encontrar en el archivo PdfPrinting.zip en www.terminalworks.com/es/pdf-print-net/descargas

Hay código de nuestra aplicación demo PdfPrintLibraryTest.
En ese código, usted puede ver:
  • cómo instalar las propiedades disponibles de la biblioteca PdfPrint (Fuente de Papel, Cotejar, Copias, Páginas, Dúplex, Imprimir a Color, Rango de impresión, Escala del documento, Horizontal / Vertical, Resolución de Impresión, Tamaño de Papel, Mostrar Diálogo de Impresión)
  • Cómo cambiar la impresora default en C# y obtener los valores default de la impresora default
  • Cómo obtener una lista de las impresoras disponibles
  • No, esto no funcionará.

    Ejecutar ilmerge para unir pdfprint dll con otro ejecutable no le dará un mensaje de error, pero no funcionará.
    PdfPrint dll es independiente y debe permanecer de dicha manera – ubicado en la misma carpeta que el ejecutable que utiliza la biblioteca de impresión pdf.
    PdfPrintingNet.dll es una biblioteca dll independiente. Es firmada con llave pública.
    Podría ser incluida en ClickOnce, MSI y otros tipos de archivos de configuración de Windows.
    PdfPrintingNet.dll es firmado con una llave pública.
    El método PrintWithAdobe usa el preinstalado Adobe Reader / Professional para impresión silenciosa.
    Funciona en procesos de 32 y 64bit. Ese método no funciona en los siguientes casos:
  • En servicio Windows / ASP.net no funcionará si la versión instalada de Adobe Reader es superior a la 9.5
  • Adobe Reader / Professional no está ya instalado en su computadora en donde la biblioteca de pdfprint es usada

  • Imprimir con el motor default de pdfprint no tiene las limitaciones arriba mencionadas.
    A partir de la versión 3.0.2.8 está disponible la impresión de múltiples documentos PDF como si fuese un único trabajo de impresión por parte de nuestro motor de Impresión estándar.
    PrintWithAdobe(), debido a razones técnicas, no tiene esa funcionalidad.
    Gira el contenido PDF en función de la orientación del papel seleccionado.
    Si el contenido de la página tiene mayor anchura que altura, y la orientación del papel es Vertical, entonces girará el contenido 270 grados.
    Si el contenido de la página tiene mayor altura que anchura, y la orientación del papel es Vertical, entonces el contenido permanecerá igual.
    Si el contenido de la página tiene mayor altura que anchura, y la orientación del papel es Horizontal, entonces girará el contenido 270 grados.
    Si el contenido de la página tiene mayor altura que anchura, y la orientación del papel es Horizontal, entonces el contenido permanecerá igual.

    Para el método de Impresión por defecto, AutoRotar funciona por página PDF. Si el documento PDF tiene más páginas, con diferentes páginas en cada uno de ellos, se aplicará el razonamiento descrito.
    Para el método PrintWithAdobe la orientación se determina en función del contenido de la primera página, que será impresa. Ello puede dar lugar a algún problema si son impresas páginas con diferentes de diferentes tamaños. Esa es una de las limitaciones conocidas del método PrintWithAdobe.
    Sí, puede ocultar la barra de herramientas por completo u ocultar simplemente algunas opciones de la barra de herramientas.
    Por ejemplo, podría ocultar los elementos de selección de la página y luego solo pemitir a los usuarios ver una única página.

    Puede cambiarlo:
    1. Desde Visual Studio en diseñar tiempo - en la ventana de propiedades de la barra de herramientas
    2. Desde su código de manera programada
    Esto sucede en caso de que el documento PDF que abrió tenga permisos establecidos para no permitir la impresión.
    Puede comprobar los permisos del documento solicitando el método GetPermissions en el componente.
    No, para ajustes de impresión avanzadas o impresión secreta necesita usar la licencia Completa de nuestra biblioteca PDFPrinting.NET.
    Primero necesita una licencia de visor válida.
    La biblioteca de PdfPrintingNet tiene 3 tipos diferentes de licencias: Visor, Impresión y Completo.
    Si su tipo de licencia es la de Visor o Completa, entonces tiene una licencia de Visor válida y ha recibido una clave de licencia correcta al adquirir la biblioteca PdfPrintingNet.

    En su código fuente, tendrá algo así:
    var pdfViewer = new PdfViewer();
    pdfViewer.SetLicenseInfo("el nombre de su compañía", "su clave de licencia");
    1. En su proyecto, referencie PdfPrintingNet.dll
    2. Cree su proyecto.
    3. En Visual Studio vaya a Caja de Herramientas -> Elegir Productos -> Explorar... -> Seleccione PdfPrintingNet.dll en su disco
    4. Eso añadirá PdfViewer en los componentes .NET framework. Compruébelo y presione OK.
    La licencia de Visor permite mostrar un documento PDF en el elemento del Visor sin ningún tipo de limitaciones.
    También permite la impresión de documentos cargados directamente desde el Visor.
    La licencia de Visor no es compatible con la impresión secreta.

    La licencia de Impresión permite imprimir o convertir un documento PDF de manera secreta sin ningún tipo de limitaciones.
    Si el Visor muestra el documento, mostrará un símbolo de demo.
    Si el Visor imprime un documento, se imprimirá sin el símbolo de demo.

    La licencia Completa permite imprimir, convertir y mostrar documentos PDF sin ninguna limitación de demostración.
    Nuestra biblioteca recupera los siguientes permisos de un documento PDF:
    • Imprimir
    • Modificar
    • Comentarios / Anotaciones
    • Ensamble de Documento
    • Extracción de Contenido
    • Extracción de Contenido Para Accesibilidad
    • Cumplimentación de campos de formularios
    • Impresión a la máxima calidad

    La versión actual de nuestra biblioteca utiliza solo Imprimir / Impresión a la máxima calidad y Extracción de Contenido / Extracción de Contenido Para Accesibilidad.
    Otras están disponibles solo como información.

    En las versiones futuras en las que será posible editar el documento PDF, se tendrán en cuenta otros permisos.
    Accesos directos disponibles en el componente de Visor

    ShortcutOperación
    CTRL + ASeleccionar todos los textos
    CTRL + SHIFT + ADeseleccionar todos los textos
    CTRL + CCopiar los textos o imagenes seleccionados al portapapeles
    SHIFT + RIGHTIr a la siguiente página
    CTRL + PImprimir
    CTRL + OAbrir
    CTRL + FBuscar
    CTRL + YAcercar a
    CTRL + 0Acercar para ajustar la página
    CTRL + 1Acercar al tamaño actual
    CTRL + WCerrar Documento
    CTRL + BAlternar marcapáginas
    CTRL + DMostrar la información del documnento
    CTRL + SHIFT + ADDGirar en sentido horario
    CTRL + SHIFT + SUBTRACTGirar en sentido antihorario
    PAGE UPIr a página previa
    PAGE DOWNIr a página siguiente
    SHIFT + LEFTIr a página previa
    SHIFT + RIGHTIr a página siguiente
    CTRL + SHIFT + NIr a la página
    HOMEIr a la primera página
    ENDIr a la última página
    ALT + LEFT Ir a la anterior página visitada
    ALT + RIGHTIr a la siguiente página visitada
    Sí, es posible usarlo a través de WindowsFormHost.
    Recomendamos que mire nuestra aplicación de demostración PdfViewerPDFDemo ubicada en PdfPrinting.zip.

    para autorizarlo:
    En el proyecto PdfViewerWPFDemo -> MainWindows.xaml.cs, después en la línea InitializeComponent() añada esta línea:
    ((PdfViewer)(windowsHost.Child)).SetLicenseInfo("su compañía", "su clave demo");
    La impresión secreta funcionará si se cumplen las siguientes condiciones:
    • La impresora seleccionada debe estar "visible" para el usuario del grupo de aplicaciones IIS ejecutando la web ASP.NET. Esto quiere decir que tiene que ser posible imprimir a través de la impresora seleccionada desde el ordenador donde IIS está funcionando. Si puede imprimir desde cualquier aplicación situada en el servidor en la impresora que desee como usuario ejecutando el grupo de aplicaciones IIS, entonces la impresión también debería ser posible desde nuestra biblioteca. La impresión en impresoras locales de visitantes no es posible, excepto que la impresora ya esté disponible desde el servidor IIS.
    • Si está utilizando el método PrintWithAdobe en lugar del método de impresión por defecto, entonces la versión instalada de Adobe Reader tiene que ser 9.5 o anterior.

    La conversión de páginas PDF en imágenes funcionará.
    La impresión a doble cara, copias y el cotejo no pueden ser fijados para un documento único en una impresión de documentos múltiples.
    Esta es una limitación internar del sistema de impresión Win32, y no podemos anularla.
    Estas tres propiedades pueden ser solo establecidas al inicio del trabajo de impresión.
    Otras propiedades de impresión (tamaño de papel, fuente de papel, orientación del papel...) son específicas por página y también pueden ser fijadas.
    PDFEdit es compatible con todas los algoritmos de encriptación definidos por el manual oficial de referencia PDF.

    Los algoritmos de encriptación compatibles son: RC4 40 bit, longitud personalizable en RC4 clave personalizable, RC4 128 bit, AES 128 bit, AES 256 bit - de tipo poco seguro (¡no se recomienda!), AES 256 bit - de tipo seguro

    AES 256 bit es la encriptación más segura, pero no todos los lectores PDF son todavía capaces de usarlas. Para una seguridad y compatibilidad adecuada, sugerimos AES 128 bit.
    PDFEdit es compatible con todos los permisos de acceso a usuarios definidos en el manual oficial de referencia para PDF.

    Son permisos de acceso a usuarios compatibles: Permitir Impresión, modificar documento, extraer documento, anotaciones, rellenar formularios, accesibilidad a extracción de contenido, ensamblar documento e impresión a máxima calidad.
    Puede establecer permisos de acceso a usuarios, pero depende del lector PDF que dichos permisos sean respetados.
    En PdfPrinting.zip (disponible en la página de descargas) hay algunas aplicaciones de muestra con su código fuente.
    Hay código fuente para tres aplicaciones de muestra:
    • CreateInvoice - ejemplo sencillo sobre la creación de una factura. Un buen ejemplo para ver cómo crear un nuevo documento PDF y cómo escribir textos con fuentes especiales e imágenes en ellos.
    • DocumentMergeSplitExtractRemove - cómo extraer, eliminar, dividir o unir páginas desde un documento PDF existente.
    • PDFProtection - cómo establecer encriptaciones PDF y permisos de acceso a usuarios.

    Se requiere:

    • PdfPrintingNet.dll tiene que estar en la versión 4.5.2.0 o más reciente
    • Archivo de traducción con texto traducido
    • Durante el tiempo de ejecución, solicite el método pdfViewer.TranslateViewer(locationToTranslationFile);


    Sugerimos que use como plantilla translations_en.txt desde el directorio de muestras en PdfPrintingNet.zip.
    En translations_en.txt hay un listado de todas las secuencias usadas. Traduzca la parte que va después del signo "=" .
    Sugerimos que lea las notas al fondo de translations_en.txt.

    La impresora tiene márgenes de impresora física - un área en donde esta puede imprimir. Por tanto, para algunos tamaños de papel (como A4), si la impresora no es una impresora virtual (como Microsoft PDF Print), la impresora empezará a imprimir en el margen izquierdo, en la posición del margen de arriba.

    Área imprimible = tamaño de papel - márgenes de la impresora.

    El contenido es centrado en función del área imprimible, por tanto si los márgenes izquierdo y derecho o los márgenes de arriba o de abajo no coinciden, el contenido no será centrado en el papel de manera perfecta, y será según el diseño.
    PageAutoSize es una propiedad que tiene truco.
    Trata de establecer de manera automática un tamaño de papel en función al tamaño de la página PDF.
    Dado que hay varias impresoras en el mercado con diferentes capacidades, incluyendo las impresoras virtuales, el establecimiento automático del tamañao de papel en la impresora puede dar lugar a algunos problemas.

    Los problemas más comunes que pueden surgir son:

    1. La impresora no es compatible con el tamaño de papel establecido por la propiedad PageAutoSize
    Por ejemplo, si intenta imprimir un tamaño de página PDF A3 en una impresora compatible únicamente con el formato A4, no podrá funcionar por razones físicas.
    Algunas impresoras del mercado son compatibles con tamaños de papel personalizables. Aún así, no podemos asegurar que el tamaño de papel proporcionado a través de la propiedad PageAutoSizewe será aceptado por la impresora. No disponemos de una manera fiable de obtener esa información por parte del driver de la impresora en cuanto a si el tamaño personalizado será respetado o no.
    Las impresoras PDF Virtuales (por ejemplo - CutePDF Writer) son compatibles con todo tipo de tamaños de página personalizadas diferentes porque no tienen limitaciones en cuanto al tamaño físico de papel. Asimismo, no todas las impresoras en el mercado tienen una opción para definir el tamaño de papel personalizable.
    Para evitar configuraciones de tamaño de papel personalizable en la impresora, en aquellas donde no tengan tal opción, hemos añadido una nueva propiedad a nuestra biblioteca llamada AllowCustomSize. Si la propiedad es activada, PageAutoSize intentará establecer el tamaño de papel si el tamaño de papel calculado no es encontrado. De otra manera, se empleará el tamaño de papel por defecto de la impresora. Por defecto, la propiedad AllowCustomSize está desactivada.

    2. La impresora es compatible con el tamaño de papel exigido, pero la selección de bandeja automática no está disponible.
    Algunas impresoras tienen más de una bandeja de fuente de papel. Cada bandeja puede ser usada para un tamaño de papel diferente - por ejemplo, la Bandeja 1 es usada para A4 mientras la Bandeja 2 es usada para Cartas.
    Si trata de imprimir una página PDF A4 en A4I, pero el driver de la impresora no es capaz de seleccionar automáticamente una bandeja de papel adecuada que contenga papel A4 - no funcionará. Sin embargo, en la mayoría de los casos, un driver de impresora será capaz de gestionar tal supuesto.
    Pero, en algunos casos raros, en donde esto no funcione, hemos añadido la propiedad PaperSourceTrayInfo, la cual ayuda a nuestra biblioteca a establecer el PrinterTray adecuadamente. Esta propiedad tiene detrás un arduo trabajo de codificación para que funcione de manera adecuada. Por favor, tenga en cuenta que ya que no es práctico usar la propiedad PaperSourceTrayInfo, esto funciona más como método alternativo para algunos casos raros.

    ¿No es capaz de encontrar la respuesta a su pregunta?
    Contáctenos y nos pondremos en contacto con usted en las próximas 24 horas.

    Solo brindamos asistencia en Inglés.
    ¿Licencia expirada?

    Solicite una extensión gratuita de la licencia de prueba en caso de que necesite más tiempo para evaluar nuestro producto. Recibirá su nueva licencia de prueba poco después de rellenar la solicitud.

    Solicitar ahora
    Programa de socios

    Los servicios en la nube y los proveedores de servicios gestionados se pueden beneficiar de nuestros productos. El Programa de Socios de TerminalWorks le posibilita la compra de paquetes de licencias de productos de TerminalWorks, así como la reventa de estos.

    Solicitar ahora
    Información de contacto
    Dirección de email
    [email protected]

    Teléfono de Asistencia Técnica
    (407) 567-0096

    Teléfono de ventas
    (407) 567-0097

    Atención telefónica disponible de 10 AM a 10 PM Hora central europea
    Contáctenos
    Copyright © 2021 TerminalWorks. Todos los Derechos Reservados