Aujourd’hui, je vais souligner les principales fonctionnalités introduites dans la version Aspose.Words for C++ 19.10 :

Enregistrer le document Word au format TIFF multipage

L’une des choses utiles que vous devrez peut-être faire avec votre document Word (tel que DOCX, DOC, RTF et bien d’autres) est une conversion en fichier(s) image. Par exemple si vous devez présenter votre document Word dans un format lisible et imprimable mais non modifiable (par exemple pour publication sur le Web). L’une des approches simples que vous pouvez utiliser est la conversion en un fichier TIFF multipage. Veuillez vous référer à l’article suivant pour savoir comment convertir un document Word au format TIFF en utilisant Aspose.Words pour C++ : Convertir un document Word en image TIFF multipage

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-words/Aspose.Words-for-.NET
// Enregistrez le document au format TIFF multipage.
doc.Save(dataDir + "TestFile Multipage TIFF_out.tiff");

Convertir une image en PDF en utilisant C++

Il est désormais possible de créer un document PDF à partir d’une image en utilisant Aspose.Words pour l’API C++. L’exemple de code mentionné dans l’article suivant montre à quel point il est facile de faire avec Aspose.Words pour C++. Le code permet de convertir des images à image unique, telles que JPEG, PNG, BMP, EMF ou WMF, ainsi que des images TIFF multi-images et GIF en PDF. Convertir une image en PDF

Seuil de contrôle pour la binarisation TIFF à l’aide de C++

Le processus de réduction des informations contenues dans l’image en niveaux de gris de 256 nuances de gris à 2 qui sont en noir et blanc et de leur conversion en image binaire est la binarisation. Lorsqu’un document est converti au format de fichier TIFF, vous pouvez contrôler le seuil de binarisation TIFF à l’aide de la propriété ImageSaveOptions.ThresholdForFloydSteinbergDithering. La valeur par défaut de cette propriété est 128. Plus la valeur est élevée, plus l’image est sombre. L’exemple de code suivant montre comment utiliser cette propriété pour Seuil de contrôle pour la binarisation TIFF.

System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>(SaveFormat::Tiff);
options->set_TiffCompression(TiffCompression::Ccitt3);
options->set_ImageColorMode(ImageColorMode::Grayscale);
options->set_TiffBinarizationMethod(ImageBinarizationMethod::FloydSteinbergDithering);
options->set_ThresholdForFloydSteinbergDithering(254);

System::String outputPath = outputDataDir + u"ImageColorFilters.ExposeThresholdControlForTiffBinarization.tiff";
doc->Save(outputPath, options);

Enregistrer l’image sur un bit par pixel à l’aide de C++

L’exemple de code suivant montre comment enregistrer l’image à un bit par pixel en définissant PixelFormat sur Format1bppIndexed.

System::SharedPtr<ImageSaveOptions> opt = System::MakeObject<ImageSaveOptions>(SaveFormat::Png);
opt->set_PageIndex(1);
opt->set_ImageColorMode(ImageColorMode::BlackAndWhite);
opt->set_PixelFormat(ImagePixelFormat::Format1bppIndexed);

System::String outputPath = outputDataDir + u"ImageColorFilters.SaveImageToOnebitPerPixel.png";
doc->Save(outputPath, opt);

Crypter les fichiers DOC ou DOT avec mot de passe en utilisant C++

La classe DocSaveOptions est utilisée pour spécifier des options supplémentaires lors de l’enregistrement d’un document au format DOC ou DOT. À l’aide de cette classe, vous pouvez définir le mot de passe sur un document chiffré et ignorer les données RoutingSlip lors de l’enregistrement du document. L’exemple de code ci-dessous montre comment définir le mot de passe pour chiffrer le document à l’aide de la méthode de chiffrement RC4.

System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.doc");
System::SharedPtr<DocSaveOptions> docSaveOptions = System::MakeObject<DocSaveOptions>();
docSaveOptions->set_Password(u"password");
System::String outputPath = outputDataDir + u"WorkingWithDoc.EncryptDocumentWithPassword.doc";
doc->Save(outputPath, docSaveOptions);

Crypter les fichiers DOCX avec mot de passe en utilisant C++

La classe OoXMLSaveOptions offre la possibilité d’enregistrer tout document chiffré avec le mot de passe. À l’aide de cette classe, vous pouvez définir le mot de passe à l’aide de la propriété OoxmlSaveOptions.Password lors de l’enregistrement du document. L’exemple de code suivant montre comment définir le mot de passe et enregistrer le document au format DOCX.

System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.doc");
System::SharedPtr<OoxmlSaveOptions> ooxmlSaveOptions = System::MakeObject<OoxmlSaveOptions>();
ooxmlSaveOptions->set_Password(u"password");
System::String outputPath = outputDataDir + u"WorkingWithOoxml.EncryptDocxWithPassword.docx";
doc->Save(outputPath, ooxmlSaveOptions);

Extraire le contenu à l’aide de DocumentVisitor

Vous pouvez maintenant utiliser la classe DocumentVisitor pour implémenter ce scénario d’utilisation. Cette classe correspond au patron de conception Visitor bien connu. Avec DocumentVisitor, vous pouvez définir et exécuter des opérations personnalisées qui nécessitent une énumération sur l’arborescence du document. Pour plus de détails, veuillez vérifier : Comment extraire du contenu à l’aide de DocumentVisitor

Obtenir l’espacement des lignes de police

L’interligne d’une police est la distance verticale entre les lignes de base de deux lignes de texte consécutives. Ainsi, l’interligne comprend l’espace blanc entre les lignes ainsi que la hauteur du caractère lui-même. La propriété LineSpacing a été introduite dans la classe Font pour Obtenir la valeur de l’espacement des lignes de la police comme indiqué dans l’exemple ci-dessous :

// Initialiser le document.
System::SharedPtr<Document> doc = System::MakeObject<Document>();
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
builder->get_Font()->set_Name(u"Calibri");
builder->Writeln(u"qText");

// Obtenir l'espacement des lignes.
System::SharedPtr<Font> font = builder->get_Document()->get_FirstSection()->get_Body()->get_FirstParagraph()->get_Runs()->idx_get(0)->get_Font();
//Console.WriteLine($"lineSpacing = {font.LineSpacing}");
std::cout << "lineSpacing = " << font->get_LineSpacing() << std::endl;

Voir aussi Liens utiles

Les ressources dont vous pourriez avoir besoin pour accomplir vos tâches :

En gardant la tradition Aspose, vous êtes invités à façonner les prochaines versions de l’API Aspose.Words pour C++ en publiant vos suggestions et préoccupations dans le forum de support Aspose.Words pour C++.