Trabajar con páginas en PostScript | C++

Agregar páginas al documento PS

Aspose.Page para C++ ofrece dos formas de agregar páginas al objeto PsDocument.

El siguiente fragmento de código crea un documento PS de dos páginas en 8 pasos:

  1. Cree una secuencia de salida para el archivo PS resultante.
  2. Cree el objeto PsSaveOptions con opciones predeterminadas.
  3. Cree un PsDocument de 2 páginas con un flujo de salida ya creado y opciones para guardar.
  4. Abra la primera página con el tamaño de página predeterminado del documento (A4 en orientación vertical).
  5. Cierra la página.
  6. Abra la segunda página con un nuevo tamaño.
  7. Cierra la página.
  8. Guarde el documento.
 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    }

Consulte cómo trabajar con las páginas en documentos PS en .NET o Java.

El siguiente fragmento de código crea también un documento PS de 2 páginas, pero con 7 pasos:

  1. Cree una secuencia de salida para el archivo PS resultante.
  2. Cree el objeto PsSaveOptions con opciones predeterminadas.
  3. Cree un PsDocument de varias páginas con un flujo de salida ya creado y opciones de guardado. En este caso, la primera página ya está abierta y su tamaño es el tamaño de página predeterminado del documento (A4 en orientación vertical).
  4. Cierra la página.
  5. Abra la segunda página con un nuevo tamaño.
  6. Cierra la página.
  7. Guarde el documento. Esta forma de agregar páginas es útil cuando el documento tiene 1 página o se desconoce si será un documento de 1 o 2 páginas.
 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    }

Puede descargar ejemplos y archivos de datos desde GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.