Вставить страницу в PS-файл
Решение C++ API для добавления страниц в файл PS
Существует два способа контролировать количество страниц вашего документа PostScript (PS) с помощью API Aspose.Page. Вы можете заранее указать точное количество страниц или создать одностраничный или многостраничный документ. Однако для добавления страниц одну за другой необходимо использовать методы OpenPage() и ClosePage(). Документы PS могут иметь страницы разных размеров, поэтому вы можете установить нужный размер с помощью OpenPage(). По умолчанию страницы имеют размер А4. Важно отметить, что вы можете управлять страницами только вновь созданных документов PS, а не существующих.
На этой странице мы покажем вам два варианта добавления страниц в файл PS с помощью Aspose.Page для C++. Но сначала вам необходимо:
Получите Aspose.Page для C++ API, который представляет собой многофункциональный, мощный и простой в использовании API C++ для манипулирования и преобразования документов.
Откройте диспетчер пакетов NuGet, найдите Aspose.Page.Cpp и установите. Вы также можете использовать следующую команду из консоли диспетчера пакетов.
Package Manager Console Command
PM> Install-Package Aspose.Page.Cpp
Код C++ для добавления страниц в файл PS. Вариант 1.
Действия по добавлению страниц в файл PS. Вариант 1.
- Создайте путь к каталогу документов.
- Создайте выходной поток для полученного файла PS.
- Создайте параметры сохранения с размером А4.
- Создайте файл PS, используя PsDocument Class , выходной поток и количество страниц.
- Создайте пустую страницу с помощью метода OpenPage() .
- Добавьте содержимое на эту страницу и закройте его с помощью метода ClosePage() .
- Если вам нужно добавить страницу другого размера, используйте тот же метод OpenPage() с новым размер.
- Закройте страницу с помощью метода ClosePage() .
- Сохраните документ PS, используя метод Save() .
Добавляем изображения в PS
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir_WorkingWithPages(); | |
//Create output stream for PostScript document | |
{ | |
System::SharedPtr<System::IO::Stream> outPsStream = System::MakeObject<System::IO::FileStream>(dataDir + u"document1.ps", System::IO::FileMode::Create); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ outPsStream}); | |
// ------------------------------------------ | |
try | |
{ | |
//Create save options with A4 size | |
System::SharedPtr<PsSaveOptions> options = System::MakeObject<PsSaveOptions>(); | |
// Create new 2-paged PS Document | |
System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(outPsStream, options, 2); | |
//Add the first page | |
document->OpenPage(); | |
//Add content | |
//Close the first page | |
document->ClosePage(); | |
//Add the second page with different size | |
document->OpenPage(400.0f, 700.0f); | |
//Add content | |
//Close the second page | |
document->ClosePage(); | |
//Save the document | |
document->Save(); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} |
Код C++ для добавления страниц в файл PS. Вариант 2.
Действия по добавлению страниц в файл PS. Вариант 2.
- Создайте путь к каталогу документов.
- Создайте выходной поток для полученного файла PS.
- Создайте параметры сохранения с размером А4.
- Создайте новый файл PS, используя PsDocument Class .
- Если вам нужно добавить страницу другого размера, используйте метод OpenPage() с новым размером.
- После добавления контента на страницы закройте их с помощью метода ClosePage() .
- Сохраните документ PS, используя метод Save() .
Добавляем изображения в PS
// The path to the documents directory. | |
System::String dataDir = RunExamples::GetDataDir_WorkingWithPages(); | |
//Create output stream for PostScript document | |
{ | |
System::SharedPtr<System::IO::Stream> outPsStream = System::MakeObject<System::IO::FileStream>(dataDir + u"document2.ps", System::IO::FileMode::Create); | |
// Clearing resources under 'using' statement | |
System::Details::DisposeGuard<1> __dispose_guard_0({ outPsStream}); | |
// ------------------------------------------ | |
try | |
{ | |
//Create save options with A4 size | |
System::SharedPtr<PsSaveOptions> options = System::MakeObject<PsSaveOptions>(); | |
//Set variable that indicates if resulting PostScript document will be multipaged | |
bool multiPaged = true; | |
// Create new multipaged PS Document with one page opened | |
System::SharedPtr<PsDocument> document = System::MakeObject<PsDocument>(outPsStream, options, multiPaged); | |
//Add content | |
//Close the first page | |
document->ClosePage(); | |
//Add the second page with different size | |
document->OpenPage(500.0f, 300.0f); | |
//Add content | |
//Close the second page | |
document->ClosePage(); | |
//Save the document | |
document->Save(); | |
} | |
catch(...) | |
{ | |
__dispose_guard_0.SetCurrentException(std::current_exception()); | |
} | |
} |
PS Формат файла PS
Формат PS является одним из форматов языка описания страниц (PDL). Он способен содержать как графическую, так и текстовую информацию на странице. Именно поэтому формат поддерживался большинством программ для редактирования изображений. Сам файл postscript является своеобразной инструкцией для принтеров. Он содержит информацию о том, что и как печатать со своей страницы.