Puede crear, editar o manipular archivos XPS fácilmente. Además, puede controlar los contenidos y su posición según sus requisitos. Puede insertar una imagen o texto en archivos XPS mediante programación utilizando el lenguaje C++. Exploremos esta función en detalle en los siguientes temas:
- Trabajar con contenido de texto o imagen en archivos XPS: instalación de API
- Agregar texto en un archivo XPS usando C++
- Agregue texto en un archivo XPS usando una cadena Unicode en C++
- Insertar imagen en documento XPS usando C++
- Insertar imagen en mosaico en archivo XPS usando C++
Trabajar con contenido de texto o imagen en archivos XPS: instalación de API
Puede agregar contenido de texto o imagen en archivos XPS en aplicaciones C++. No necesita considerar detalles menores sobre el formato de archivo del documento, ya que pocas llamadas API pueden hacer el trabajo según sus requisitos. Aspose.Page for C++ La API se puede configurar fácilmente descargándola de Nuevas versiones o con el siguiente comando de instalación NuGet:
PM> Install-Package Aspose.Page.Cpp
Agregar texto en un archivo XPS usando C++
El texto se puede usar en el archivo XPS para etiquetar algunos dibujos, imágenes u otros contenidos. Asimismo, también puede utilizar el texto como marca de agua para el archivo. Debe seguir los pasos a continuación para agregar o insertar texto en archivos XPS:
- Crear un nuevo Documento XPS
- Crear un pincel para agregar texto
- Agregar glifo al documento
- Guardar documento XPS de salida
El siguiente código muestra cómo agregar texto en un archivo XPS usando C++:
// Crear nuevo documento XPS
auto doc = System::MakeObject<XpsDocument>();
//crear un pincel
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
//Agregar glifo al documento
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 300.f, 450.f, u"Hello World!");
glyphs->set_Fill(textFill);
// Guarde el documento XPS resultante
doc->Save(RunExamples::outDir() + u"AddText_out.xps");
Agregue texto en un archivo XPS usando una cadena Unicode en C++
Hemos aprendido a agregar una cadena de texto simple a un archivo XPS. Procedamos y consideremos un escenario en el que necesita agregar una cadena Unicode en los archivos XPS. Debe seguir los pasos a continuación para agregar texto en el archivo XPS, según la cadena Unicode:
- Crear nuevo documento XPS
- Agregar texto Unicode
- Guardar documento XPS de salida
El siguiente código se basa en estos pasos, que muestra cómo agregar texto en un archivo XPS usando una cadena Unicode en lenguaje C++:
// Crear nuevo documento XPS
auto doc = System::MakeObject<XpsDocument>();
// Añadir texto
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 20.0f, System::Drawing::FontStyle::Regular, 400.f, 200.f, u"++C. rof SPX.esopsA");
glyphs->set_BidiLevel(1);
glyphs->set_Fill(textFill);
// Guarde el documento XPS resultante
doc->Save(RunExamples::outDir() + u"AddText_unicode.xps");
Insertar imagen en documento XPS usando C++
Las imágenes pueden contener mucha información visual, por lo que la API admite la inserción de una imagen en un archivo XPS en sus aplicaciones C++. Aspose.Page for C++ le permite insertar fotografías o imágenes en archivos XPS con los siguientes pasos:
- Crear un nuevo documento XPS
- Cargar imagen de entrada
- Crea una Matriz y ImageBrush
- Guardar archivo XPS de salida
El siguiente ejemplo de código muestra cómo insertar una imagen en un documento XPS con C++:
// Crear nuevo documento XPS
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
// Añadir imagen
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
// La creación de una matriz es opcional, se puede utilizar para un posicionamiento adecuado
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
//Crear pincel de imagen
path->set_Fill(doc->CreateImageBrush(RunExamples::dataDir() + u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 258.24f, 56.64f), System::Drawing::RectangleF(50.f, 20.f, 193.68f, 42.48f)));
// Guarde el documento XPS resultante
doc->Save(RunExamples::outDir() + u"AddImage_out.xps");
Insertar imagen en mosaico en archivo XPS usando C++
Hemos aprendido el primer paso de agregar o insertar una imagen en un archivo XPS, procedamos con el ejemplo relacionado de insertar una imagen en mosaico en un documento XPS. A continuación se muestran los pasos para agregar una imagen en mosaico en un archivo XPS:
- Crear nuevo documento XPS
- Añadir ImageBrush rectángulo relleno
- Agregar imagen en mosaico
- Guarde el documento XPS resultante
El siguiente fragmento de código muestra cómo agregar una imagen en mosaico en un archivo XPS usando C++:
// Crear nuevo documento XPS
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
// Imagen de mosaico
// Rectángulo relleno con ImageBrush en la parte superior derecha de abajo
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 10,160 L 228,160 228,305 10,305"));
path->set_Fill(doc->CreateImageBrush(RunExamples::dataDir() + u"R08LN_NN.jpg", System::Drawing::RectangleF(0.f, 0.f, 128.f, 96.f), System::Drawing::RectangleF(0.f, 0.f, 64.f, 48.f)));
(System::DynamicCast<Aspose::Page::Xps::XpsModel::XpsImageBrush>(path->get_Fill()))->set_TileMode(Aspose::Page::Xps::XpsModel::XpsTileMode::Tile);
path->get_Fill()->set_Opacity(0.5f);
// Guarde el documento XPS resultante
doc->Save(RunExamples::outDir() + u"AddTiledImage_out.xps");
Conclusión
En este artículo, ha aprendido cómo insertar o agregar texto o imágenes en archivos XPS utilizando el lenguaje C++. Esta característica puede ser útil en escenarios como cuando necesita agregar una marca de agua en documentos XPS o agregar algún sello según sus requisitos. Del mismo modo, se admiten muchas otras características interesantes para el formato de archivo XPS. Puede obtener más información visitando la Documentación de la API, o también puede hablar con nosotros en el Foro de soporte gratuito. ¡Esperamos ponernos en contacto con usted!