Esta página foi útil?
Seus comentários sobre este conteúdo são importantes. Queremos saber sua opinião.
Comentários adicionais?
1500 caracteres restantes
Documentos em Windows Presentation Foundation
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Documentos em Windows Presentation Foundation

Windows Presentation Foundation (WPF) oferece uma ampla gama de características de documento que permitem a criação de conteúdo de alta fidelidade que é projetado para ser mais facilmente acessado e lido do que em gerações anteriores de Windows. Além de capacidades e qualidade aprimoradas, WPF também oferece serviços integrados para exibição do documento, empacotamento e segurança. Esse tópico oferece uma introdução aos tipos e empacotamento de documento WPF

Este tópico contém as seguintes seções.

WPF divide documentos em duas categorias com base em seu uso pretendido; essas categorias de documentos são chamadas de "documentos fixos" e "documentos de fluxo".

Documentos fixos são destinados a aplicações que exigem uma precisão "o que você vê é o que você obtém" (WYSIWYG) , independente da tela ou hardware de impressão utilizado. Os usos típicos para documentos fixos incluem publicações eletrônicas, processamento de textos e layout de formulários, onde a aderência ao design original da página é crítica. Como parte do seu layout, um documento fixo mantém a precisa colocação posicional de elementos de conteúdo independente do dispositivo de exibição ou de impressão em uso. Por exemplo, uma página de documento fixa visualizada em uma tela de 96 dpi aparece exatamente a mesmo quando é saída para uma impressora 600 dpi laser como quando é saída para uma filmadora 4800 dpi . O layout da página permanece o mesmo em todos os casos, enquanto que a qualidade do documento maximiza as capacidades de cada dispositivo.

Em comparação, documentos de fluxo são projetados para otimizar a visualização e a leitura e são melhor utilizados quando a facilidade de leitura é o primário cenário de consumo do documento . Ao invés de ser definido como um layout predefinido, documentos de fluxo ajustam dinamicamente e reprocessam seu conteúdo com base em variáveis de tempo de execução, tais como o tamanho da janela, a resolução do dispositivo, e as preferências opcionais do usuário. Uma página Web é um exemplo simples de um documento de fluxo onde o conteúdo da página é formatado dinamicamente para se ajustar à janela atual. Documentos dinâmicos otimizam a experiência de visualização e leitura para o usuário, com base no ambiente em tempo de execução. Por exemplo, o mesmo documento de fluxo irá reformatar dinamicamente para uma ótima legibilidade tanto na alta resolução da tela de 19 polegadas quanto em uma pequena tela de um PDA de 2x3 polegadas. Adicionalmente, documentos de fluxo tem uma variedade de funcionalidades, incluindo pesquisa, modos de visualização que otimizam a legibilidade, e a capacidade de alterar o tamanho e a aparência das fontes. Consulte Flow Document Overview para ilustrações, exemplos, e informações profundas sobre os documentos de fluxo.

O .NET Framework oferece um conjunto de controles pré-compilados que simplificam o uso de documentos fixos, documentos de fluxo e texto geral em sua aplicação. A exibição de conteúdo de documentos fixos é suportada usando o controle DocumentViewer. Exibição do conteúdo do documento de fluxo é suportada por três controles diferentes: FlowDocumentReader, FlowDocumentPageViewer, e FlowDocumentScrollViewer qual MAP de cenários de usuário diferente (consulte as seções abaixo). Outros controles WPF fornecem o layout simplificado para apoiar usos gerais de texto (consulte Text in the User Interface, abaixo).

Controle de Documento Fixo - DocumentViewer

O controle DocumentViewer foi concebido para exibir conteúdo FixedDocument. O controle DocumentViewer fornece uma interface de usuário intuitiva que oferece suporte embutido para operações comuns, incluindo a saída de impressão, cópia para área de transferência, zoom, e funcionalidades de pesquisa de texto. O controle oferece acesso a páginas de conteúdo através de um mecanismo de rolagem familiar. Assim como controles WPF, DocumentViewer suporta remodelação completa ou parcial, o que permite ao controle ser visualmente integrado em virtualmente qualquer aplicação ou ambiente.

DocumentViewer é projetado para exibir conteúdo de forma somente leitura; edição ou modificação de conteúdo não está disponível e não é suportada.

Controles de Documento de Fluxo

Observação: Para obter informações mais detalhadas sobre recursos de fluxo de documentos e como criá-los, consulte Flow Document Overview.

Exibição do conteúdo do documento de fluxo é suportada por três controles: FlowDocumentReader, FlowDocumentPageViewer, e FlowDocumentScrollViewer.

FlowDocumentReader

FlowDocumentReader inclui recursos que permitem ao usuário escolher dinamicamente entre os vários modos de visualização, incluindo o modo de visualização de página única (uma página por vez), o modo de visualização de duas páginas por vez (formato de leitura de livros) e um modo de visualização de deslocamento contínuo (sem limites). Para maiores informações sobre esses modos de visualização, consulte FlowDocumentReaderViewingMode. Se você não precisa da possibilidade de alternar dinamicamente entre diferentes modos de visualização, FlowDocumentPageViewer e FlowDocumentScrollViewer fornecem visualizadores de conteúdo de fluxo mais leves que são fixos em um modo de exibição específico.

FlowDocumentPageViewer e FlowDocumentScrollViewer

FlowDocumentPageViewer exibe conteúdo no modo de visualização uma-página-por-vez, enquanto FlowDocumentScrollViewer mostra o conteúdo no modo de rolagem contínuo. Ambos FlowDocumentPageViewer e FlowDocumentScrollViewer são fixados a um modo de visualização em particular. Comparado a FlowDocumentReader, que inclui funcionalidades que permitem ao usuário escolher dinamicamente entre vários modos de visualização (como fornecido pela enumeração FlowDocumentReaderViewingMode), ao custo de usar mais recursos do que FlowDocumentPageViewer ou FlowDocumentScrollViewer.

Por padrão, uma barra de rolagem vertical é sempre exibida, e uma barra de rolagem horizontal torna-se visível, se necessário. A interface padrão para FlowDocumentScrollViewer não inclui uma barra de ferramentas; Contudo, a propriedade IsToolBarVisible pode ser utilizada para habilitar uma barra de ferramentas interna.

Texto na interface de usuário.

Além de adicionar texto aos documentos, texto, obviamente, pode ser usado da interface do usuário do aplicativo, sistema autônomo formulários. WPF inclui vários controles para o desenho de texto na tela. Cada controle é direcionado para um cenário diferente e tem sua própria lista de recursos e limitações. Em geral, o elemento TextBlock deve ser usado quando suporte limitado do texto for necessário, como por exemplo uma breve frase em um interface do usuário (IU). Label pode ser usado quando uma quantidade mínima de suporte a texto é necessária. Para obter mais informações, consulte Visão geral do TextBlock.

As APIs System.IO.Packaging proporcionam um meio eficaz para organizar os dados de aplicativos, o conteúdo do documentos e recursos relacionados em um único contêiner que é simples de se acessar, portátil e fácil de distribuir. A ZIP file is an example de um tipo de Package capaz de conter vários objetos como uma única unidade. As APIs de empacotamento fornecem uma implementação padrão de ZipPackage projetada usando um padrão de convenções abertas de empacotamento com arquitetura arquivo XML e ZIP. As APIs de compactação do WPF o tornam simples para criar pacotes, e para armazenar e acessar objetos dentro deles. Um objeto armazenado em um Package é parte de um PackagePart. Pacotes também podem incluir certificados digitais assinados que podem ser utilizados para identificar o originador de uma parte e para validar que o conteúdo de um pacote não foi modificado. Pacotes também incluem uma funcionalidade PackageRelationship que permite que informação adicional possa ser adicionada a um pacote ou associada com partes específicas sem modificar o conteúdo de peças existentes. Os serviços do pacote também suportam o Microsoft Windows Rights Management (RM).

A arquitetura de pacote WPF serve como fundamento para diversas tecnologias-chave:

  • Documentos XPS em conformidade com XML Paper Specification (XPS).

  • Documentos de formato open XML do Microsoft Office "12" (.docx).

  • Formatos de armazenamento personalizado para seu próprio design de aplicação.

Baseado em APIs de empacotamento, um XpsDocument é projetado especificamente para o armazenamento de documentos de conteúdo WPF fixo. Um XpsDocument é um documento independente que pode ser aberto em um visualizador, exibido em um controle DocumentViewer, encaminhado para um spool de impressão, ou dar saída diretamente para uma impressora XPS-compatível.

As seções a seguir oferecem informações adicionais sobre o Package e XpsDocument APIs fornecidos com WPF.

Componentes de Empacotamento

As APIs de empacotamento WPF permitem que os dados e documentos da aplicação sejam organizados em uma única unidade portátil. Um arquivo ZIP é um dos tipos mais comuns de pacotes e é o tipo de pacote padrão fornecido com WPF. Package Se é uma classe abstrata da qual ZipPackage é implementado usando um padrão XML e ZIP arquivo arquitetura aberta. O método Open usa ZipPackage para criar e usar arquivos ZIP por padrão. Um pacote pode conter três tipos básicos de itens:

PackagePart

Conteúdo, dados, documentos e arquivos de recurso de aplicação.

PackageDigitalSignature

X.509 Certificate para identificação, autenticação e validação.

PackageRelationship

Informações acrescentadas relacionadas ao pacote ou a uma parte específica.

PackageParts

Um PackagePart ("part") é uma classe abstrata que se refere a um objeto armazenado em um Package. Em um arquivo ZIP, as partes do pacote correspondem aos arquivos individuais armazenados no arquivo ZIP. ZipPackagePart Fornece a implementação padrão para objetos serializáveis, armazenados em um ZipPackage. Como um sistema de arquivos, partes contidas no pacote são armazenadas no diretório hierárquico ou em uma organização "estilo pasta". Usando as APIs de empacotamento WPF, aplicações podem escrever, armazenar e ler múltiplos objetos PackagePart usando um único contêiner de arquivo ZIP.

PackageDigitalSignatures

Por segurança, um PackageDigitalSignature ("assinatura digital") pode ser associada com partes de um pacote. Um PackageDigitalSignature incorpora um 509 que fornece dois recursos:

  1. Identifica e autentica a origem da parte.

  2. Valida que a parte não foi modificada.

A assinatura digital não impede uma parte de ser modificada, mas uma verificação de validação contra a assinatura digital irá falhar se a parte for alterada de alguma forma. O aplicativo pode então tomar ação apropriadas para o caso, por exemplo, bloquear a abertura da parte ou notificar o usuário de que a parte foi modificada e não é segura.

PackageRelationships

Um PackageRelationship ("relacionamento") prove um mecanismo para a associação de informação adicional com o pacote ou com uma parte no interior do pacote. Um relacionamento é uma funcionalidade em nível de pacote que pode associar informações adicionais à uma parte sem modificar o conteúdo atual da parte. Inserir novos dados diretamente na parte de conteúdo geralmente não é prático em muitos casos:

  • O tipo real da parte e seu esquema de conteúdo não é conhecido.

  • Mesmo se conhecido, o esquema de conteúdo pode não fornecer um meio de acrescentar novas informações.

  • Essa parte pode ser digitalmente assinada ou encriptada, evitando qualquer modificação.

Relações de pacotes fornecem um meio para adicionar e associar informações adicionais com partes individuais ou com o pacote inteiro. Relações de pacotes são utilizadas para duas funções principais:

  1. Definir relações de dependência de uma parte para outra parte.

  2. Definir relacionamentos de informação que acrescentam anotaçoes ou outros dados relacionados à parte.

Um PackageRelationship fornece um meio rápido de definir dependências e outras informações associadas a uma parte do pacote ou ao pacote como um todo.

Relacionamentos de Dependência

Relações de dependência são usadas para descrever dependências que uma parte faz para outras partes. Por exemplo, um pacote pode conter uma parte HTML que inclui uma ou mais tags de imagem <img>. As tags de imagem se referem as imagens que estão localizadas tanto como outras partes internas ou externas do pacote (como acessível através da Internet). Criar um PackageRelationship associado a um arquivo HTML faz descobrir e acessar os recursos dependentes de maneira rápida e fácil. Um navegador ou aplicação de visualização pode acessar diretamente as relações entre partes e começar imediatamente a montagem dos recursos dependentes sem conhecer o esquema ou analisar o documento.

Relacionamentos de Informação

De forma semelhante a uma anotação, um PackageRelationship também pode ser utilizado para armazenar outros tipos de informação a serem associados com uma parte sem ter que realmente modificar o próprio conteúdo da parte.

XML Paper Specification (XPS) documento é um pacote que contém um ou mais fixo-documentos juntamente com todos os recursos e informações necessárias para renderização. XPS também é o nativo Windows Vista formato de arquivo de spool de impressão. An XpsDocument é armazenado no dataset ZIP padrão e pode incluir uma combinação de XML e componentes binário, sistema autônomo arquivos de imagem e a fonte. PackageRelationships são usados para definir sistema autônomo dependências entre o conteúdo e sistema autônomo recursos necessários para processar totalmente o documento. O formato XpsDocument fornece uma solução de documento único, de alta fidelidade que suporta múltiplos usos:

  • Ler, escrever e armazenar conteúdo de documento fixo e recursos como um único arquivo portátil e fácil de distribuir.

  • Exibir documentos com uma aplicação visualizadora XPS.

  • Gerar documentos no formato de saída de spool de impressão nativo do Windows Vista.

  • Encaminhar documentos diretamente para uma impressora compatível com XPS.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft