Travailler avec des pages dans PostScript | C++
Contents
[
Hide
Show
]Ajouter des pages au document PS
Aspose.Page pour C++ propose deux manières d’ajouter des pages à l’objet PsDocument.
L’extrait de code suivant crée un document PS de 2 pages en 8 étapes :
- Créez un flux de sortie pour le fichier PS résultant.
- Créez un objet PsSaveOptions avec les options par défaut.
- Créez un PsDocument de 2 pages avec un flux de sortie déjà créé et enregistrez les options.
- Ouvrez la première page avec le format de page par défaut du document (A4 en orientation Portrait).
- Fermez la page.
- Ouvrez la deuxième page avec une nouvelle taille.
- Fermez la page.
- Enregistrez le document.
1 // The path to the documents directory.
2 System::String dataDir = RunExamples::GetDataDir_WorkingWithPages();
3
4 //Create output stream for PostScript document
5 {
6 System::SharedPtr<System::IO::Stream> outPsStream = System::MakeObject<System::IO::FileStream>(dataDir + u"document1.ps", System::IO::FileMode::Create);
7 // Clearing resources under 'using' statement
8 System::Details::DisposeGuard<1> __dispose_guard_0({ outPsStream});
9 // ------------------------------------------
10
11 try
12 {
13 //Create save options with A4 size
14 System::SharedPtr<PsSaveOptions> options = System::MakeObject<PsSaveOptions>();
15
16 // Create new 2-paged PS Document
17 System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(outPsStream, options, 2);
18
19 //Add the first page
20 document->OpenPage();
21
22 //Add content
23
24 //Close the first page
25 document->ClosePage();
26
27 //Add the second page with different size
28 document->OpenPage(400.0f, 700.0f);
29
30 //Add content
31
32 //Close the second page
33 document->ClosePage();
34
35 //Save the document
36 document->Save();
37 }
38 catch(...)
39 {
40 __dispose_guard_0.SetCurrentException(std::current_exception());
41 }
42 }
L’extrait de code suivant crée également un document PS de 2 pages, mais en 7 étapes :
- Créez un flux de sortie pour le fichier PS résultant.
- Créez un objet PsSaveOptions avec les options par défaut.
- Créez un PsDocument multipage avec un flux de sortie déjà créé et des options d’enregistrement. Dans ce cas, la première page est déjà ouverte et son format est le format de page par défaut du document (A4 en orientation Portrait).
- Fermez la page.
- Ouvrez la deuxième page avec une nouvelle taille.
- Fermez la page.
- Enregistrez le document. Cette façon d’ajouter des pages est utile lorsque le document comporte 1 page ou si l’on ne sait pas s’il s’agira d’un document de 1 ou 2 pages.
1 // The path to the documents directory.
2 System::String dataDir = RunExamples::GetDataDir_WorkingWithPages();
3
4 //Create output stream for PostScript document
5 {
6 System::SharedPtr<System::IO::Stream> outPsStream = System::MakeObject<System::IO::FileStream>(dataDir + u"document2.ps", System::IO::FileMode::Create);
7 // Clearing resources under 'using' statement
8 System::Details::DisposeGuard<1> __dispose_guard_0({ outPsStream});
9 // ------------------------------------------
10
11 try
12 {
13 //Create save options with A4 size
14 System::SharedPtr<PsSaveOptions> options = System::MakeObject<PsSaveOptions>();
15
16 //Set variable that indicates if resulting PostScript document will be multipaged
17 bool multiPaged = true;
18
19 // Create new multipaged PS Document with one page opened
20 System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(outPsStream, options, multiPaged);
21
22 //Add content
23
24 //Close the first page
25 document->ClosePage();
26
27 //Add the second page with different size
28 document->OpenPage(500.0f, 300.0f);
29
30 //Add content
31
32 //Close the second page
33 document->ClosePage();
34
35 //Save the document
36 document->Save();
37 }
38 catch(...)
39 {
40 __dispose_guard_0.SetCurrentException(std::current_exception());
41 }
42 }
Vous pouvez télécharger des exemples et des fichiers de données à partir de GitHub.