Travailler avec les en-têtes dans PDF
Appliquer un style de numérotation dans l’en-tête
Tout texte dans un document commence par un en-tête. Les en-têtes sont une partie intégrante du contenu, quel que soit le style et le thème. Les en-têtes aident à attirer l’attention sur le texte et aident les utilisateurs à trouver l’information dont ils ont besoin dans le document, améliorant ainsi la lisibilité et la perception visuelle. En utilisant des styles d’en-tête, vous pouvez également créer rapidement une table des matières, modifier la structure du document. Alors, voyons comment travailler avec les en-têtes en utilisant la bibliothèque Aspose.PDF pour C++.
Aspose.PDF pour C++ offre de nombreux styles de numérotation prédéfinis. Ces styles de numérotation prédéfinis sont stockés dans une énumération, NumberingStyle. Les valeurs prédéfinies de l’énumération NumberingStyle et leurs descriptions sont données ci-dessous :
Types de Titres | Description |
---|---|
NumeralsArabic | Type arabe, par exemple, 1,1.1,… |
NumeralsRomanUppercase | Type romain majuscule, par exemple, I,I.II, … |
NumeralsRomanLowercase | Type romain minuscule, par exemple, i,i.ii, … |
LettersUppercase | Type anglais majuscule, par exemple, A,A.B, … |
LettersLowercase | Type anglais minuscule, par exemple, a,a.b, … |
La propriété Style de la classe Aspose.PDF.Heading est utilisée pour définir les styles de numérotation des titres. |
Figure: Styles de numérotation prédéfinis |
---|
Le code source, pour obtenir la sortie montrée dans la figure ci-dessus, est donné ci-dessous dans l’exemple. |
void WorkingWithHeadingsInPDF() {
// Chaîne pour le nom du chemin
String _dataDir("C:\\Samples\\");
// Chaîne pour le nom du fichier d'entrée
String outputFileName("ApplyNumberStyle_out.pdf");
// Ouvrir le document
auto document = MakeObject<Document>();
document->get_PageInfo()->set_Width(612.0);
document->get_PageInfo()->set_Height(792.0);
document->get_PageInfo()->set_Margin (MakeObject<MarginInfo>());
document->get_PageInfo()->get_Margin()->set_Left(72);
document->get_PageInfo()->get_Margin()->set_Right(72);
document->get_PageInfo()->get_Margin()->set_Top (72);
document->get_PageInfo()->get_Margin()->set_Bottom (72);
auto pdfPage = document->get_Pages()->Add();
pdfPage->get_PageInfo()->set_Width (612.0);
pdfPage->get_PageInfo()->set_Height (792.0);
pdfPage->get_PageInfo()->set_Margin(MakeObject<MarginInfo>());
pdfPage->get_PageInfo()->get_Margin()->set_Left(72);
pdfPage->get_PageInfo()->get_Margin()->set_Right(72);
pdfPage->get_PageInfo()->get_Margin()->set_Top(72);
pdfPage->get_PageInfo()->get_Margin()->set_Bottom(72);
auto floatBox = MakeObject<FloatingBox>();
floatBox->set_Margin(pdfPage->get_PageInfo()->get_Margin());
pdfPage->get_Paragraphs()->Add(floatBox);
auto textFragment = MakeObject<TextFragment>();
auto segment = MakeObject<TextSegment>();
auto heading = MakeObject<Heading>(1);
heading->set_IsInList(true);
heading->set_StartNumber(1);
heading->set_Text (u"Liste 1");
heading->set_Style(NumberingStyle::NumeralsRomanLowercase);
heading->set_IsAutoSequence(true);
floatBox->get_Paragraphs()->Add(heading);
auto heading2 = MakeObject<Heading>(1);
heading2->set_IsInList (true);
heading2->set_StartNumber(13);
heading2->set_Text (u"Liste 2");
heading2->set_Style(NumberingStyle::NumeralsRomanLowercase);
heading2->set_IsAutoSequence(true);;
floatBox->get_Paragraphs()->Add(heading2);
auto heading3 = MakeObject<Heading>(2);
heading3->set_IsInList (true);
heading3->set_StartNumber(1);
heading3->set_Text (u"la valeur, à la date d'effet du plan, des biens à distribuer selon le plan en raison de chaque autorisation");
heading3->set_Style(NumberingStyle::LettersLowercase);
heading3->set_IsAutoSequence(true);
floatBox->get_Paragraphs()->Add(heading3);
// Enregistrer le fichier de sortie concaténé
document->Save(_dataDir + outputFileName);
}