Робота зі сторінками в PostScript | C++
Contents
[
Hide
Show
]Додайте сторінки до документа PS
Aspose.Page для C++ пропонує два способи додавання сторінок до об’єкта PsDocument.
Наступний фрагмент коду створює 2-сторінковий документ PS за 8 кроків:
- Створіть вихідний потік для отриманого файлу PS.
- Створіть об’єкт PsSaveOptions із параметрами за замовчуванням.
- Створіть 2-сторінковий PsDocument із уже створеним вихідним потоком і параметрами збереження.
- Відкрийте першу сторінку із стандартним розміром сторінки документа (A4 у книжковій орієнтації).
- Закрийте сторінку.
- Відкрийте другу сторінку з новим розміром.
- Закрийте сторінку.
- Збережіть документ.
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 }
Див. роботу зі сторінками в документах PS у .NET або [Java](/page/{{lang.url -fragment}}java/ps/working-with-pages/).
Наступний фрагмент коду також створює 2-сторінковий документ PS, але з 7 кроками:
- Створіть вихідний потік для отриманого файлу PS.
- Створіть об’єкт PsSaveOptions із параметрами за замовчуванням.
- Створіть багатосторінковий PsDocument із уже створеним вихідним потоком і параметрами збереження. У цьому випадку перша сторінка вже відкрита, і її розмір відповідає стандартному розміру сторінки документа (A4 у книжковій орієнтації).
- Закрийте сторінку.
- Відкрийте другу сторінку з новим розміром.
- Закрийте сторінку.
- Збережіть документ. Цей спосіб додавання сторінок корисний, коли документ складається з 1 сторінки або невідомо, чи буде це 1- чи 2-сторінковий документ.
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 }
Ви можете завантажити приклади та файли даних із GitHub.