IXpsFixedPageReader 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義讀取 FixedPage 之組件的方法。
public interface class IXpsFixedPageReader : System::Windows::Xps::Packaging::IStoryFragmentProvider
public interface IXpsFixedPageReader : System.Windows.Xps.Packaging.IStoryFragmentProvider
type IXpsFixedPageReader = interface
interface IStoryFragmentProvider
Public Interface IXpsFixedPageReader
Implements IStoryFragmentProvider
- 實作
範例
下列範例示範如何從 IXpsFixedDocumentReader 取得 IXpsFixedPageReader 集合。 此範例也會示範如何使用固定頁面讀取器來新增 StoryFragment 定義頁面的檔結構。
ShowStatus(" Getting FixedDocumentSequenceReader.");
IXpsFixedDocumentSequenceReader fixedDocSeqReader =
xpsDocument.FixedDocumentSequenceReader;
ShowStatus(" Getting FixedDocumentReaders.");
ICollection<IXpsFixedDocumentReader> fixedDocuments =
fixedDocSeqReader.FixedDocuments;
ShowStatus(" Getting FixedPageReaders.");
IEnumerator<IXpsFixedDocumentReader> enumerator =
fixedDocuments.GetEnumerator();
enumerator.MoveNext();
ICollection<IXpsFixedPageReader> fixedPages =
enumerator.Current.FixedPages;
// Add a document structure to each fixed page.
int i = 0;
foreach (IXpsFixedPageReader fixedPageReader in fixedPages)
{
XpsResource pageStructure;
ShowStatus(" Adding page structure resource:\n '" +
Filename(_fixedPageStructures[i]) + "'");
try
{ // Add a new StoryFragment to hold the page structure.
pageStructure = fixedPageReader.AddStoryFragment();
}
catch (System.InvalidOperationException)
{
MessageBox.Show(xpsUnstructuredFile +
"\n\nDocument structure cannot be added.\n\n" +
Filename(xpsUnstructuredFile) + " might already " +
"contain an existing document structure.",
"Cannot Add Document Structure",
MessageBoxButton.OK, MessageBoxImage.Error);
break;
}
// Copy the page structure to the new StoryFragment.
WriteResource(pageStructure, _fixedPageStructures[i++]);
}
ShowStatus(" Saving and closing the new document.\n");
xpsDocument.Close();
ShowStatus(" Getting FixedDocumentSequenceReader.")
Dim fixedDocSeqReader As IXpsFixedDocumentSequenceReader = xpsDocument.FixedDocumentSequenceReader
ShowStatus(" Getting FixedDocumentReaders.")
Dim fixedDocuments As ICollection(Of IXpsFixedDocumentReader) = fixedDocSeqReader.FixedDocuments
ShowStatus(" Getting FixedPageReaders.")
Dim enumerator As IEnumerator(Of IXpsFixedDocumentReader) = fixedDocuments.GetEnumerator()
enumerator.MoveNext()
Dim fixedPages As ICollection(Of IXpsFixedPageReader) = enumerator.Current.FixedPages
' Add a document structure to each fixed page.
Dim i As Integer = 0
For Each fixedPageReader As IXpsFixedPageReader In fixedPages
Dim pageStructure As XpsResource
ShowStatus(" Adding page structure resource:" & vbLf & " '" & Filename(_fixedPageStructures(i)) & "'")
Try
pageStructure = fixedPageReader.AddStoryFragment()
Catch e2 As InvalidOperationException
System.Windows.MessageBox.Show(xpsUnstructuredFile & vbLf & vbLf & "Document structure cannot be added." & vbLf & vbLf & Filename(xpsUnstructuredFile) & " might already " & "contain an existing document structure.",
"Cannot Add Document Structure",
MessageBoxButton.OK,
MessageBoxImage.Error)
Exit For
End Try
' Copy the page structure to the new StoryFragment.
WriteResource(pageStructure, _fixedPageStructures(i))
i += 1
Next fixedPageReader
ShowStatus(" Saving and closing the new document." & vbLf)
xpsDocument.Close()
屬性
ColorContexts |
取得頁面上所有色彩內容的集合。 |
Fonts |
取得頁面上所使用的所有字型集合。 |
Images |
取得頁面上所有影像的集合。 |
PageNumber |
取得頁碼。 |
PrintTicket |
取得與 PrintTicket 相關聯的 FixedPage (如果票證存在的話)。 |
ResourceDictionaries |
取得頁面的所有資源字典的集合。 |
StoryFragment |
StoryFragments取得 XPS 封裝標記的一部分。 |
Thumbnail |
取得與 FixedPage 相關聯的縮圖影像 (如果有縮圖的話)。 |
Uri |
取得 FixedPage 的統一資源識別項 (URI)。 |
XmlReader |
取得頁面的 XmlReader。 |
方法
AddStoryFragment() |
StoryFragments將專案加入至 XPS 套件。 (繼承來源 IStoryFragmentProvider) |
GetColorContext(Uri) |
取得具有所指定統一資源識別項 (URI) 之資源的色彩內容。 |
GetFont(Uri) |
取得具有所指定統一資源識別項 (URI) 的字型。 |
GetImage(Uri) |
取得具有所指定統一資源識別項 (URI) 的影像。 |
GetResource(Uri) |
取得具有所指定統一資源識別項 (URI) 的資源。 |
GetResourceDictionary(Uri) |
取得具有所指定統一資源識別項 (URI) 的資源字典。 |