다음을 통해 공유


PackageStore.GetPackage(Uri) 메서드

정의

저장소에서 지정된 URI의 Package를 반환합니다.

public:
 static System::IO::Packaging::Package ^ GetPackage(Uri ^ uri);
public static System.IO.Packaging.Package GetPackage (Uri uri);
static member GetPackage : Uri -> System.IO.Packaging.Package
Public Shared Function GetPackage (uri As Uri) As Package

매개 변수

uri
Uri

반환할 패키지의 URI(Uniform Resource Identifier)입니다.

반환

지정된 packageUri의 패키지입니다. 지정된 packageUri의 패키지가 저장소에 없으면 null을 반환합니다.

예외

packageUri이(가) null인 경우

packageUri가 잘못된 패키지 URI인 경우

예제

다음 예제에서는 GetPackage 메서드를 사용하는 방법을 보여 줍니다.

// --------------------------- OpenDocument ---------------------------
/// <summary>
///   Loads and displays a given XPS document file.</summary>
/// <param name="filename">
///   The path and file name of the XPS
///   document to load and display.</param>
/// <returns>
///   true if the document loads successfully; otherwise false.</returns>
public bool OpenDocument(string xpsFile)
{
    // Check to see if the document is encrypted.
    // If encrypted, use OpenEncryptedDocument().
    if (EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(xpsFile))
        return OpenEncryptedDocument(xpsFile);

    // Document is not encrypted, open normally.
    ShowStatus("Opening '" + Filename(xpsFile) + "'");

    _packageUri = new Uri(xpsFile, UriKind.Absolute);
    try
    {
        _xpsDocument = new XpsDocument(xpsFile, FileAccess.Read);
    }
    catch (System.IO.FileFormatException ex)
    {
        MessageBox.Show(xpsFile + "\n\nThe file " +
            "is not a valid XPS document.\n\n" +
            "Exception: " + ex.Message + "\n\n" +
            ex.GetType().ToString() + "\n\n" + ex.StackTrace,
            "Invalid File Format",
            MessageBoxButton.OK, MessageBoxImage.Error);
        return false;
    }

    // Get the document's PackageStore into which
    // new user annotations will be added and saved.
    _xpsPackage = PackageStore.GetPackage(_packageUri);
    if ((_xpsPackage == null) || (_xpsDocument == null))
    {
        MessageBox.Show("Unable to get Package from file.");
        return false;
    }

    // Get the FixedDocumentSequence from the open document.
    FixedDocumentSequence fds = _xpsDocument.GetFixedDocumentSequence();
    if (fds == null)
    {
        MessageBox.Show(xpsFile + "\n\nThe document package within " +
            "the specified file does not contain a " +
            "FixedDocumentSequence.", "Package Error");
        return false;
    }

    // Load the FixedDocumentSequence to the DocumentViewer control.
    DocViewer.Document = fds;

    // Enable document menu controls.
    menuFileClose.IsEnabled  = true;
    menuFilePrint.IsEnabled  = true;
    menuViewIncreaseZoom.IsEnabled = true;
    menuViewDecreaseZoom.IsEnabled = true;

    // Give the DocumentViewer focus.
    docViewer.Focus();

    this.Title = "RightsManagedPackageViewer SDK Sample - " +
                 Filename(xpsFile);
    return true;
}// end:OpenDocument()
' --------------------------- OpenDocument ---------------------------
''' <summary>
'''   Loads and displays a given XPS document file.</summary>
''' <param name="filename">
'''   The path and file name of the XPS
'''   document to load and display.</param>
''' <returns>
'''   true if the document loads successfully; otherwise false.</returns>
Public Function OpenDocument(ByVal xpsFile As String) As Boolean
    ' Check to see if the document is encrypted.
    ' If encrypted, use OpenEncryptedDocument().
    If EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(xpsFile) Then
        Return OpenEncryptedDocument(xpsFile)
    End If

    ' Document is not encrypted, open normally.
    ShowStatus("Opening '" & Filename(xpsFile) & "'")

    _packageUri = New Uri(xpsFile, UriKind.Absolute)
    Try
        _xpsDocument = New XpsDocument(xpsFile, FileAccess.Read)
    Catch ex As System.IO.FileFormatException
        MessageBox.Show(xpsFile & vbLf & vbLf & "The file " & "is not a valid XPS document." & vbLf & vbLf & "Exception: " & ex.Message & vbLf & vbLf & ex.GetType().ToString() & vbLf & vbLf & ex.StackTrace, "Invalid File Format", MessageBoxButton.OK, MessageBoxImage.Error)
        Return False
    End Try


    ' Get the document's PackageStore into which
    ' new user annotations will be added and saved.
    _xpsPackage = PackageStore.GetPackage(_packageUri)
    If (_xpsPackage Is Nothing) OrElse (_xpsDocument Is Nothing) Then
        MessageBox.Show("Unable to get Package from file.")
        Return False
    End If

    ' Get the FixedDocumentSequence from the open document.
    Dim fds As FixedDocumentSequence = _xpsDocument.GetFixedDocumentSequence()
    If fds Is Nothing Then
        MessageBox.Show(xpsFile & vbLf & vbLf & "The document package within " & "the specified file does not contain a " & "FixedDocumentSequence.", "Package Error")
        Return False
    End If

    ' Load the FixedDocumentSequence to the DocumentViewer control.
    DocViewerProperty.Document = fds

    ' Enable document menu controls.
    menuFileClose.IsEnabled = True
    menuFilePrint.IsEnabled = True
    menuViewIncreaseZoom.IsEnabled = True
    menuViewDecreaseZoom.IsEnabled = True

    ' Give the DocumentViewer focus.
    docViewer.Focus()

    Me.Title = "RightsManagedPackageViewer SDK Sample - " & Filename(xpsFile)
    Return True
End Function ' end:OpenDocument()

설명

packageUri 는 메서드 호출에 지정된 URI와 AddPackage 일치합니다.

보안 참고 사항 이 메서드는 EnvironmentPermission 모든 사용자 지정 Package (비ZipPackage) 형식을 요구합니다.

적용 대상

추가 정보