问题标签 [fixeddocument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1001 浏览

c# - WPF 到 XPS 的轮廓和结构

我正在开发一个 WPF 报告应用程序。

我的报告构造为 WPF 控件(FlowDocument 或 FixedDocument)并包含表格。我想将其保存为 XPS 并保留其结构(这意味着我可以将表格复制为表格,而不是像本文中解释的纯文本)。我找到了一种使用 XpsDocumentWriter 或 XpsSerializationManager 保存 WPF 控件的方法,但结果没有结构或轮廓。

是否可以将 WPF Control 保存为 Xps 以保留其结构?

0 投票
0 回答
641 浏览

c# - FixedDocument 不显示 DataGrid 行

我正在流文档中建立数据。用户可以更改某些属性并查看实时“打印预览”。为此,我只需将 FlowDocument 转换为固定文档(使用本文中的以下方法并显示在 DocumentViewer 中。

但是,已添加到 FlowDocument 的任何数据网格都不会在 FixedDocument 中正确呈现。它们出现在没有数据的 FixedDocument 中;网格的形状是正确的,有列标题和行,只是没有数据。

最初我认为这可能是因为数据网格包含在 FlowDocument 中的 BlockUIContainer 中,但是我有其他 BlockUIContainer 元素包含一个 Grid(带有 TextBlocks)甚至一个Xceed DataGridControl。它们在 FixedDocument 中都呈现得很好。

我在其他地方看到关于显示 DataGrids 的其他问题,但它们将 DataGrid 转换为表,或者创建 DocumentPaginator 以在跨多个页面时重新分页数据网格。这些都不适合我,我希望看到 FixedDocument 中的 DataGrid 与 FlowDocument 中的完全一样

为什么 DataGrid 不能在 FixedDocument 中正确显示?

0 投票
1 回答
1402 浏览

c# - 将带有图像的 FixedDocument 保存到 XPS 文件

我已将FixedDocument保存到XPS文件,例如:

然后我将 XPS 文件打开为 ZIP 存档,并看到我的图像保存为 PNG 文件。如何将图像文件格式更改为 JPG?

0 投票
0 回答
237 浏览

vb.net - 导航到 XPS 文档查看器 VB.net 中的特定位置

我花了 2 天时间试图找到没有运气的解决方案。

我有一个在文档查看器中显示的 XPS 文件,我想做的是使用我拥有的变量导航到查看器中文档中的某个位置。

首先,我将如何在 xps 文档中设置某种标识符?目前,我已经从word中设置了书签,然后转换为xps,我可以在FixedDoc文件中看到,因此我知道它可以看到它们,但我不知道如何使用它。

目前我有:

从这里开始,我想使用 _CurrentDocSection(1) 作为我的标识符,然后导航到该书签在文档中的位置,但似乎找不到它。

谢谢

0 投票
1 回答
862 浏览

c# - 具有相同 UserControl 实例的 WPF FixedPage

首先,我不确定我是否正确地表达了标题。有些是UserControls通过 a 添加的ViewModel,我通过搜索找到它们VisualTree并将它们添加到 a ObservableCollection<Grid>。我想做的是将UserControl我从 中检索到的每个实例打印VisualTree到 a中FixedDocument,但每个实例都UserControl在一个页面上,直到它填满该页面并移至下一页。

这是我当前的打印按钮单击事件的代码:

这是我尝试打印三个选项卡时的样子(用户控件托管在选项卡中): 正如您在此处看到的,它打印三个单独的页面

我希望所有三个都在一个页面上,如果我打印 10 个标签,那么它应该填满第一页并继续到下一页。

上次我问了一个类似的问题,有人问我是否写了代码。这段代码的点点滴滴来自类似的FixedDocument问题,StackOverflow但它已经被编辑到它真正适合我的地步。所以是的,我知道FixedPage里面的引用foreach是导致创建三个单独页面的原因,我确实理解代码。

概括:

我想知道的是如何UserControls从 each中获取Tab, 到一个页面直到它满了,而不是得到“指定的元素已经是另一个元素的逻辑子元素。首先断开它。” 错误。

0 投票
0 回答
241 浏览

c# - FixedDocument 总是打印第一页

我在尝试打印 FixedDocument 的多页时遇到问题,例如我的预览显示 3 个不同的页面,但是当我单击打印或使用 Printdialog(fixedDoc.DocumentPaginator,"namefile") 时,它总是打印 3 页内容为第 1 页。这是我的固定文档代码。lstBitMap 是 BitmapEncoder 的列表

0 投票
1 回答
373 浏览

c# - 如何从 FixedDocument 中删除 FixedPage?

在允许用户打印或保存文档之前,我正在使用 DocumentViewer 向用户显示 FixedDocument。我已经编辑了 DocumentViewer 面板,使其具有一个复选框,允许用户选择他们是否想要文档中的图表。

我能够获得复选框被选中的事件及其值,但我无法找到一种方法从 FixedDocument 中删除图表并且不会在最后留下空白页。我目前拥有它,以便在复选框上单击我隐藏并显示图表,但这又会留下一个空白页。

我还尝试在复选框事件上重建 FixedDocument 并使用复选框值来决定是否包含图形页面。该文档第一次呈现良好,然后在取消选中复选框后图表页面消失,然后在重新选中复选框时显示图表页面但图表没有数据(缺少系列)。

有任何想法吗?

这可能是图表的数据绑定问题还是 FixedDocument 的问题?

注意:我在后面的代码中构建图表并添加它,如下所示:

我已经检查了其他 SO 问题,但还没有解决方案对我有用。

0 投票
1 回答
97 浏览

c# - 检测 FixedPage 上的内容是否超出底部边界

我正在创建一个稍后要打印的文档。该文档应包含一个网格,其中列出了像表格一样的项目,包括标题行。项目的数量会有所不同,因此网格可能会超出单个页面的底部边界。发生这种情况时,我想在第二页上继续,“表格”标题将再次出现。我在 for 循环中以编程方式添加行。

您知道如何检测是否超出底部页面边界的方法吗?也许有不同的方法。

0 投票
1 回答
457 浏览

c# - WPF - 如何从 FixedDocument 中删除页面?

我有一个名为“MyPage”的简单类:

现在我可以创建一个 FixedDocument 并添加 3 个页面,其内容分别为“Page1”、“Page2”和“Page3”:

现在有没有办法从 FixedDocument 中删除页面?我知道我可以使用document.Pages[2].Child.Children.Clear();例如清除特定页面内容,但是如何删除页面本身?

0 投票
1 回答
1931 浏览

c# - 使用 System.Print 在“Microsoft Print to PDF”打印机中设置文件名

我想使用虚拟打印机“Microsoft Print to PDF”将IDocumentPaginatorSource, 例如FixedDocument或保存为 PDF:XpsDocument

这可行,但会使打印机打开文件保存对话框。我想以编程方式设置文件名,或者完全禁止此对话框,或者至少在对话框中设置初始文件名。这可能吗?

我知道,这可以在使用时System.Drawing.Printing.PrintDocument通过设置PrinterSettings.PrintFileNamePrinterSettings.PrintToFile(参见1、2 来完成,但这是不支持的旧打印框架IDocumentPaginatorSource

我检查了命名空间中的所有类,System.Printing但没有找到任何方法来设置这两个设置。PrintTicket也许可以通过扩展打印模式将这些设置改造成?如果是这样,您将如何做到这一点?