trato de imprimir el contenido de mi editor:de intervalo de páginas en problemas al imprimir un documento
PrintDialog pd = new PrintDialog();
pd.PageRangeSelection = PageRangeSelection.AllPages;
pd.UserPageRangeEnabled = true;
FlowDocument fd = DocumentPrinter.CreateFlowDocumentForEditor(CurrentDocument.Editor);
DocumentPaginator dp = ((IDocumentPaginatorSource)fd).DocumentPaginator;
bool? res = pd.ShowDialog();
if (res.HasValue && res.Value)
{
fd.PageHeight = pd.PrintableAreaHeight;
fd.PageWidth = pd.PrintableAreaWidth;
fd.PagePadding = new Thickness(50);
fd.ColumnGap = 0;
fd.ColumnWidth = pd.PrintableAreaWidth;
pd.PrintDocument(dp, CurrentDocument.Editor.FileName);
}
El documento de prueba-i utilizado tiene cerca de 14 páginas (con este PAGESIZE-settings). lo probé: aparece el cuadro de diálogo Imprimir y he elegido un rango de páginas (he escrito "1-3" en el cuadro de texto) y he hecho clic en print
. sobre el printdocument()
establecí un punto de interrupción y busqué en printdialog-object. dice pd.PageRangeSelection = PageRangeSelection.UserPage
y pd.PageRange = {1-3}
. Supongo que esto es correcto, porque quería imprimir solo la página 1-3. luego, el printdocument()
ejecutado y en el output-pdf (para probar el uso de una impresora pdf) tiene 14 páginas (se imprimió el documento completo).
¿Dónde está mi error? ¿Por qué la configuración de paginación no funciona?
gracias por su ayuda
esta no es la razón. Ya dije que lo he depurado y que PageRangeSelection-Property está configurado en UserPages antes de que se ejecute PrintDocument() - Método – 0xDEADBEEF