【问题标题】:How to set pagewidth (A4) in a flow document如何在流文档中设置页宽 (A4)
【发布时间】:2021-10-16 19:12:43
【问题描述】:

我已经创建了一个流文档代码隐藏。我使用一个有四列的表格。

但是打印时第四列没有出现

好像页宽刚刚超过半页

当我减少列的列宽时 - 它们会出现但文本会换行

这是我的代码

PrintDialog printDlg = new PrintDialog();
                    FlowDocument FlowTabledoc = new FlowDocument();
                     //  FlowTabledoc.PageWidth = Double.NaN; dit not work
                    FlowTabledoc.PageWidth = printDlg.PrintableAreaWidth;
                    Table logflowtable = new Table();
                    FlowTabledoc.Blocks.Add(logflowtable);
                    logflowtable.CellSpacing = 5;

                    int numberOfColumns = 4;
                    for (int x = 0; x < numberOfColumns; x++)
                    {
                        logflowtable.Columns.Add(new TableColumn());
                    }

                    logflowtable.Columns[0].Width = new GridLength(60.0, GridUnitType.Pixel); 
                    logflowtable.Columns[1].Width = new GridLength(120.0, GridUnitType.Pixel);
                    logflowtable.Columns[2].Width = new GridLength(190.0, GridUnitType.Pixel);
                    logflowtable.Columns[3].Width = new GridLength(90.0, GridUnitType.Pixel);

                    logflowtable.RowGroups.Add(new TableRowGroup());

                    int RowAnzahl = LogTB.Rows.Count;
                    int ColAnzahl = LogTB.Columns.Count;

                    Paragraph Abschnitt = new Paragraph(); 
                    Abschnitt.FontSize = 14; 


                    for (int r = 0; r <= RowAnzahl - 1; r++)
                        {

                        logflowtable.RowGroups[0].Rows.Add(new TableRow());
                        currentRow = logflowtable.RowGroups[0].Rows[r+1];
                        
                       
                        for (int c = 0; c <= ColAnzahl - 1; c++)
                            {
                            currentRow.FontSize = 14;
                            currentRow.FontWeight = FontWeights.Normal;
                            currentRow.Cells.Add(new TableCell(new Paragraph(new Run(LogTB.Rows[r][c].ToString()))));
                             }

                        
                        FlowTabledoc.Blocks.Add(Abschnitt);
                    }


                    FlowTabledoc.Name = "FlowDoc";
                    IDocumentPaginatorSource idpSource = FlowTabledoc;
                   
                    printDlg.PrintDocument(idpSource.DocumentPaginator, "Title-Header");
                   
                }


            }
           

【问题讨论】:

    标签: c# width flowdocument


    【解决方案1】:

    找到解决方案:

    FlowTabledoc.ColumnWidth = 793;

    【讨论】:

      猜你喜欢
      • 2016-07-02
      • 2011-01-23
      • 2017-09-11
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      • 2014-06-16
      • 2012-04-03
      相关资源
      最近更新 更多