Metadados e Utilidades
Metadados e Utilidades
Aspose.PDF FOSS for .NET includes utility classes for metadata access, coordinate geometry, image collections, and page-level artifacts. These building blocks support higher-level operations throughout the library.
Metadados XMP
Metadata em um documento fornece acesso ao fluxo de metadados XMP. Leia e escrever propriedades XMP padrão ou personalizado.
using var doc = Document.Open(pdfBytes);
// Read existing metadata
foreach (var entry in doc.Metadata)
{
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
// Set a custom property
doc.Metadata.Add("xmp:CustomProp", new XmpValue("custom value"));
doc.Save("with-metadata.pdf");Geometria de coordenadas
Rectangle e a) Matrix são utilizados em toda a API para posicionamento e transformação.
var rect = new Rectangle(72, 700, 300, 720);
bool inside = rect.ContainsPoint(150, 710);
// Transformation matrix (translate by 100, 200)
var matrix = new Matrix(1, 0, 0, 1, 100, 200);Operações de recolha de páginas
PageCollection Suporta indexação, iteração e aceitação de padrões de visitantes.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}Coleções de imagens
XImageCollection Gerencia imagens incorporadas nos recursos de uma página. XImage fornece métodos para inspecionar as propriedades da imagem.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}Artefatos
Artifact representa elementos não relacionados com o conteúdo, como marcas d’água, cabeçalhos e Utilizem artefatos para a numeração de páginas e elementos decorativos.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");Dicas e melhores práticas
- As chaves de metadados XMP seguem as especificações Dublin Core e X MP usam prefixos padrão do espaço de nomes.
RectangleAs coordenadas estão em unidades de espaço do utilizador PDF (1/72 polegadas), com origem na parte inferior esquerda.- Utilização:
Matrixpara transformações afínas: tradução, rotação e corte. XmpValueSuporta tipos de string, integer, double, date e array.- Os artefactos são elementos estruturais não aparecem nas travas de árvores de acessibilidade.
Problemas comuns
| Emissão | Causa da morte | Correção |
|---|---|---|
| Chave de metadados não encontrada | A chave usa um prefixo de espaço de nomes diferente . | Lista todas as chaves primeiro para encontrar o prefixo correto |
| Coordenadas retângulos parecem invertidas. | Origem PDF é de baixo à esquerda, não superior a esquerda | Ajustar as coordenadas Y em conformidade. |
| Coleção de imagens está vazia . | As imagens estão no formato XObjects, não recursos de página direta. | Verificação XFormCollection para recursos de imagem aninhados |
FAQ
Como posso ler o título do documento a partir de metadados?
Acessos doc.Metadata["dc:title"] para a propriedade Dublin Core.
Posso adicionar um artefato de marca d’água?
Sim, criar um… Artifact com tipo de Watermark e adiciona-a à página.
Que sistema de coordenadas usa o Retângulo?
Espaço de usuário PDF: origem na parte inferior esquerda, unidades de 1/72 polegada. Uma página padrão da US Letter é 612 x 792 unidades.
Resumo de referência da API
| Classe / Método | Descrição: |
|---|---|
Metadata | Dicionário de metadados XMP sobre o documento |
XmpValue | Embalagem tipo para valores de propriedade XMP |
Rectangle | Caixa de contorno alinhada ao eixo (llx, lly, urx e ury) |
Rectangle.ContainsPoint | Teste se um ponto está dentro do retângulo. |
Matrix | 2D affine transformation matrix |
Matrix.Translate | Criar uma matriz de tradução |
PageCollection | Coleção de páginas ordenada com indexação baseada em 1 |
XImageCollection | Recursos de imagem numa página |
XImage | Imagem única embutida com detecção de tipo colorido |
Artifact | Elementos de página não relacionados com o conteúdo (marca d’água, cabeçalho e rodapé) |
Artifact.SetPageNumberReplacementString | Modelo para artefatos de número de página |