¿Cómo puedo implementar una función de vista previa de impresión para un objeto C # que no expone un objeto PrintDocument?
Pregunta
[Descargo de responsabilidad: miré las preguntas relacionadas y solo pude encontrar material relevante para MFC. No hago C ++]
Tengo una aplicación C # .Net que usa un control OCX a través de interoperabilidad (el control es un componente del visor para imágenes CGM). El control expone un método Print () y PrintSetup () pero no un método PrintPreview ().
Tampoco hay ningún objeto PrintDocument expuesto que pueda usar para implementar esta funcionalidad.
¿Hay alguna otra forma en la que pueda redireccionar a un cuadro de diálogo Vista preliminar?
[Más información] En caso de que ayude a alguien a responder, el control en cuestión es el Larson CGM Viewer ActiveX, también conocido como VisEx CGM. Consulte http://www.cgmlarson.com/industry/cgm_viewer_control.php
Solución 2
Al final, hablé con el proveedor: tienen un producto de escritorio en el que usan su propio control (también conocido como comer su propio alimento para perros) y ni siquiera tienen la función de Vista previa de impresión.
No voy a saltar a través de los aros para obtener una función que ni el proveedor ni el proveedor ni el soporte, por mucho que odie decirle a los usuarios finales que no se puede hacer.
Otros consejos
¿Puede usar el control OCX para guardar la imagen CGM en una ubicación temporal como un archivo temporal y luego usar la funcionalidad PrintPreviewControl incorporada de winforms?