Lavorare con le forme in PostScript | .NET

Aggiungi forme in un documento PS

Aggiungi un rettangolo a PS

Per aggiungere un rettangolo a PsDocument con la libreria Aspose.Page per .NET, dobbiamo seguire i seguenti passaggi:

  1. Creare un flusso di output per il file PS risultante.
  2. Creare l’oggetto PsSaveOptions con le opzioni predefinite.
  3. Creare un PsDocument a pagina singola con un flusso di output già creato e opzioni di salvataggio.
  4. Creare un rettangolo System.Drawing.Drawing2D.GraphicsPath dal rettangolo.
  5. Impostare un colore sullo stato grafico corrente di PsDocument.
  6. Riempire il percorso del rettangolo.
  7. Chiudere la pagina. 8. Salvare il documento.

Se dobbiamo tracciare il contorno di un rettangolo, i primi 4 e gli ultimi 2 passaggi saranno gli stessi, ma i punti 5 e 6 saranno:

  1. Impostare il contorno allo stato grafico corrente di PsDocument.

  2. Tracciare il contorno del rettangolo.

 1//Create an output stream for PostScript document
 2using (Stream outPsStream = new FileStream(dataDir + "AddRectangle_outPS.ps", FileMode.Create))
 3{
 4    //Create save options with A4 size
 5    PsSaveOptions options = new PsSaveOptions();
 6
 7    // Create new 1-paged PS Document
 8    PsDocument document = new PsDocument(outPsStream, options, false);
 9
10    //Create graphics path from the first rectangle
11    GraphicsPath path = new GraphicsPath();
12    path.AddRectangle(new RectangleF(250, 100, 150, 100));
13    //Set paint
14    document.SetPaint(new SolidBrush(Color.Orange));
15    //Fill the rectangle
16    document.Fill(path);
17
18    //Create graphics path from the second rectangle
19    path = new GraphicsPath();
20    path.AddRectangle(new RectangleF(250, 300, 150, 100));
21    //Set stroke
22    document.SetStroke(new Pen(new SolidBrush(Color.Red), 3));
23    //Stroke (outline) the rectangle
24    document.Draw(path);
25
26    //Close current page
27    document.ClosePage();
28
29    //Save the document
30    document.Save();
31}

Per Linux, macOS e altri sistemi operativi non Windows, offriamo l’utilizzo del nostro pacchetto Nuget Aspose.Page.Drawing. Utilizza il backend Aspose.Drawing invece della libreria di sistema System.Drawing.

Quindi, importate lo spazio dei nomi Aspose.Page.Drawing invece di quello System.Drawing. Nei frammenti di codice sopra e nei seguenti verrà utilizzato Aspose.Page.Drawing.Rectangle al posto di System.Drawing.Rectangle, Aspose.Page.Drawing.Drawing2D.GraphicsPath al posto di System.Drawing.Drawing2D.GraphicsPath e così via. I nostri esempi di codice su GitHub contengono tutte le sostituzioni necessarie.

Vedi come lavorare con le forme nei documenti PS in Java.


Il risultato dell’esecuzione di questo codice viene visualizzato come

Aggiungi rettangolo

Aggiungi ellisse a PS

Per aggiungere un’ellisse a PsDocument sono necessari 8 passaggi:

  1. Creare un flusso di output per il file PS risultante.
  2. Creare l’oggetto PsSaveOptions con le opzioni predefinite.
  3. Creare un PsDocument di una pagina con un flusso di output già creato e opzioni di salvataggio.
  4. Creare un’ellisse System.Drawing.Drawing2D.GraphicsPath a partire dal rettangolo.
  5. Impostare il colore sullo stato grafico corrente del PsDocument.
  6. Riempire il tracciato dell’ellisse.
  7. Chiudere la pagina.
  8. Salvare il documento.

Se dobbiamo tracciare il contorno di un’ellisse, i primi 4 e gli ultimi 2 passaggi saranno gli stessi, ma i punti 5 e 6 saranno:

  1. Impostare il contorno sullo stato grafico corrente del PsDocument.

  2. Tracciare il contorno del tracciato dell’ellisse.

 1//Create an output stream for PostScript document
 2using (Stream outPsStream = new FileStream(dataDir + "AddEllipse_outPS.ps", FileMode.Create))
 3{
 4    //Create save options with A4 size
 5    PsSaveOptions options = new PsSaveOptions();
 6
 7    // Create new 1-paged PS Document
 8    PsDocument document = new PsDocument(outPsStream, options, false);
 9
10    //Create graphics path from the first ellipse
11    GraphicsPath path = new GraphicsPath();
12    path.AddEllipse(new RectangleF(250, 100, 150, 100));
13    //Set paint
14    document.SetPaint(new SolidBrush(Color.Orange));
15    //Fill the ellipse
16    document.Fill(path);
17
18    //Create graphics path from the second ellipse
19    path = new SystemGraphicsPath();
20    path.AddEllipse(new RectangleF(250, 300, 150, 100));
21    //Set stroke
22    document.SetStroke(new Pen(new SolidBrush(Color.Red), 3));
23    //Stroke (outline) the ellipse
24    document.Draw(path);
25
26    //Close current page
27    document.ClosePage();
28
29    //Save the document
30    document.Save();
31}

Il risultato dell’esecuzione di questo codice appare come

Add Ellipse

Come possiamo vedere, qualsiasi forma, sia chiusa che aperta, che può essere inserita in System.Drawing.Drawing2D.GraphicsPath può essere riempita o disegnata da PsDocument. Può anche essere ritagliata, ma questo verrà descritto in un altro articolo.

È possibile scaricare esempi e file di dati da GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.