Inserir imagem de texto XPS C#

Os arquivos XPS contêm informações de layout de página fixas, incluindo layout, aparência e informações de impressão de um documento. Você pode inserir algum texto ou imagem em um arquivo XPS programaticamente em C#.

Inserir texto ou imagem em um documento XPS – Instalação da API C#

Você pode inserir texto ou imagem em um arquivo XPS sem precisar instalar nenhum processador de texto ou outro aplicativo de interface de usuário. Basta configurar o Aspose.Page for .NET baixando os arquivos DLL da seção Downloads ou usando o comando de instalação NuGet abaixo:

PM> Install-Package Aspose.Page

Adicionar texto no arquivo XPS usando C#

Você pode adicionar qualquer texto em um arquivo XPS seguindo as etapas abaixo:

  1. Inicialize um objeto da classe XPSDocument.
  2. Crie um pincel de qualquer cor e adicione o glifo.
  3. Salve o documento XPS de saída.

O trecho de código a seguir explica como adicionar texto em um arquivo XPS programaticamente em C#:

// Criar novo documento XPS
XpsDocument doc = new XpsDocument();

// Criar um pincel 
XpsSolidColorBrush textFill = doc.CreateSolidColorBrush(Color.Black);

// Adicionar glifo ao documento
XpsGlyphs glyphs = doc.AddGlyphs("Arial", 12, FontStyle.Regular, 300f, 450f, "Hello World!");
glyphs.Fill = textFill;

// Salvar documento XPS resultante
doc.Save("AddText_out.xps");

Adicionar texto no arquivo XPS usando Unicode String em C#

Você também pode adicionar uma string Unicode ao documento XPS seguindo as etapas abaixo:

  1. Crie uma instância da classe XPSDocument.
  2. Adicione a string Unicode.
  3. Salve o documento XPS de saída.

O código a seguir é baseado nessas etapas, que mostram como adicionar texto em um arquivo XPS usando uma string Unicode na linguagem C#:

// Criar novo documento XPS
XpsDocument doc = new XpsDocument();

// Adicione texto
XpsSolidColorBrush textFill = doc.CreateSolidColorBrush(Color.Black);
Aspose.Page.XPS.XpsModel.XpsGlyphs glyphs = doc.AddGlyphs("Arial", 20, FontStyle.Regular, 400f, 200f, "TEN. rof egaP.esopsA");
glyphs.BidiLevel = 1;
glyphs.Fill = textFill;

// Salvar documento XPS resultante
doc.Save("AddText_out.xps");

Inserir imagem no documento XPS usando C#

Você pode inserir uma imagem no documento XPS com as seguintes etapas:

  1. Crie um novo documento XPS.
  2. Carregar imagem de entrada.
  3. Crie uma matriz e ImageBrush.
  4. Por fim, salve o arquivo XPS de saída.

O exemplo de código abaixo mostra como inserir uma imagem em um documento XPS com C#:

// Criar novo documento XPS
XpsDocument doc = new XpsDocument();

// Adicionar imagem
XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));

//A criação de uma matriz é opcional, pode ser usada para o posicionamento adequado
path.RenderTransform = doc.CreateMatrix(0.7f, 0f, 0f, 0.7f, 0f, 20f);

//Criar pincel de imagem
path.Fill = doc.CreateImageBrush("QL_logo_color.tif", new RectangleF(0f, 0f, 258.24f, 56.64f), new RectangleF(50f, 20f, 193.68f, 42.48f));

// Salvar documento XPS resultante
doc.Save("AddImage_out.xps");

Inserir imagem lado a lado no arquivo XPS usando C#

Você pode inserir a imagem lado a lado no arquivo XPS usando C# seguindo as etapas abaixo:

  1. Crie um novo documento XPS.
  2. Adicione um retângulo preenchido com ImageBrush\ e adicione uma imagem lado a lado.
  3. Salve o documento XPS de saída.

O trecho de código abaixo explica como adicionar a imagem lado a lado em um arquivo XPS usando C#:

// Criar novo documento XPS
XpsDocument doc = new XpsDocument();

// Retângulo preenchido com ImageBrush no canto superior direito abaixo
XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 10,160 L 228,160 228,305 10,305"));
path.Fill = doc.CreateImageBrush("R08LN_NN.jpg", new RectangleF(0f, 0f, 128f, 96f), new RectangleF(0f, 0f, 64f, 48f));
((XpsImageBrush)path.Fill).TileMode = XpsTileMode.Tile;
path.Fill.Opacity = 0.5f;

// Salvar documento XPS resultante
doc.Save("AddTiledImage_out.xps");

Conclusão

Neste artigo, você explorou como inserir texto ou imagens em um documento XPS usando C#. Você pode adicionar texto como uma string simples ou uma string Unicode conforme suas necessidades. Da mesma forma, uma imagem pode ser inserida normalmente ou como uma imagem lado a lado. Sinta-se à vontade para visitar a seção documentação para conhecer outros recursos da API. Em caso de dúvidas, escreva para nós no fórum.

Veja também

Converter XPS ou OXPS para Word DOCX/DOC em C#