libspectre 0.2.12
spectre-document.h File Reference
#include <libspectre/spectre-macros.h>
#include <libspectre/spectre-status.h>
#include <libspectre/spectre-page.h>
#include <stdio.h>

Go to the source code of this file.

Typedefs

typedef struct SpectreDocument SpectreDocument
 

Functions

SPECTRE_PUBLIC SpectreDocumentspectre_document_new (void)
 
SPECTRE_PUBLIC void spectre_document_load (SpectreDocument *document, const char *filename)
 
SPECTRE_PUBLIC SpectreStatus spectre_document_status (SpectreDocument *document)
 
SPECTRE_PUBLIC void spectre_document_free (SpectreDocument *document)
 
SPECTRE_PUBLIC unsigned int spectre_document_get_n_pages (SpectreDocument *document)
 
SPECTRE_PUBLIC SpectreOrientation spectre_document_get_orientation (SpectreDocument *document)
 
SPECTRE_PUBLIC const char * spectre_document_get_title (SpectreDocument *document)
 
SPECTRE_PUBLIC const char * spectre_document_get_creator (SpectreDocument *document)
 
SPECTRE_PUBLIC const char * spectre_document_get_for (SpectreDocument *document)
 
SPECTRE_PUBLIC const char * spectre_document_get_creation_date (SpectreDocument *document)
 
SPECTRE_PUBLIC const char * spectre_document_get_format (SpectreDocument *document)
 
SPECTRE_PUBLIC int spectre_document_is_eps (SpectreDocument *document)
 
SPECTRE_PUBLIC unsigned int spectre_document_get_language_level (SpectreDocument *document)
 
SPECTRE_PUBLIC SpectrePagespectre_document_get_page (SpectreDocument *document, unsigned int page_index)
 
SPECTRE_PUBLIC SpectrePagespectre_document_get_page_by_label (SpectreDocument *document, const char *label)
 
SPECTRE_PUBLIC void spectre_document_render_full (SpectreDocument *document, SpectreRenderContext *rc, unsigned char **page_data, int *row_length)
 
SPECTRE_PUBLIC void spectre_document_render (SpectreDocument *document, unsigned char **page_data, int *row_length)
 
SPECTRE_PUBLIC void spectre_document_get_page_size (SpectreDocument *document, int *width, int *height)
 
SPECTRE_PUBLIC void spectre_document_save (SpectreDocument *document, const char *filename)
 
SPECTRE_PUBLIC void spectre_document_save_to_pdf (SpectreDocument *document, const char *filename)
 

Typedef Documentation

◆ SpectreDocument

typedef struct SpectreDocument SpectreDocument

This is the object that represents a PostScript document.

Function Documentation

◆ spectre_document_free()

SPECTRE_PUBLIC void spectre_document_free ( SpectreDocument * document)

Frees the document

Parameters
documentthe document that will be freed

◆ spectre_document_get_creation_date()

SPECTRE_PUBLIC const char * spectre_document_get_creation_date ( SpectreDocument * document)

Returns the creation date of the document. The date is copied verbatim from the document, so no format can be assumed on it. It returns a null const char * if the document specifies no creation date. This function can fail

Parameters
documentthe document whose creation date will be returned
See also
spectre_document_status

◆ spectre_document_get_creator()

SPECTRE_PUBLIC const char * spectre_document_get_creator ( SpectreDocument * document)

Returns the creator of the document. It returns a null const char * if the document specifies no creator. This function can fail

Parameters
documentthe document whose creator will be returned
See also
spectre_document_status

◆ spectre_document_get_for()

SPECTRE_PUBLIC const char * spectre_document_get_for ( SpectreDocument * document)

Returns the for of the document. It returns a null const char * if the document specifies no for. This function can fail

Parameters
documentthe document whose for will be returned
See also
spectre_document_status

◆ spectre_document_get_format()

SPECTRE_PUBLIC const char * spectre_document_get_format ( SpectreDocument * document)

Returns the format of the document. This function can fail

Parameters
documentthe document whose format will be returned
See also
spectre_document_status

◆ spectre_document_get_language_level()

SPECTRE_PUBLIC unsigned int spectre_document_get_language_level ( SpectreDocument * document)

Returns the PostScript language level of the document. It returns 0 if no language level was defined on the file. This function can fail

Parameters
documentthe document whose language level will be returned
See also
spectre_document_status

◆ spectre_document_get_n_pages()

SPECTRE_PUBLIC unsigned int spectre_document_get_n_pages ( SpectreDocument * document)

Returns the number of pages of the document. This function can fail

Parameters
documentthe document whose pages number will be returned
See also
spectre_document_status

◆ spectre_document_get_orientation()

SPECTRE_PUBLIC SpectreOrientation spectre_document_get_orientation ( SpectreDocument * document)

Returns the orientation of the document. This function can fail

Parameters
documentthe document whose orientation will be returned
See also
spectre_document_status

◆ spectre_document_get_page()

SPECTRE_PUBLIC SpectrePage * spectre_document_get_page ( SpectreDocument * document,
unsigned int page_index )

Returns a page of the document. This function can fail

Parameters
documentthe document whose page will be returned
page_indexthe page index to get. First page has index 0.
See also
spectre_document_status

◆ spectre_document_get_page_by_label()

SPECTRE_PUBLIC SpectrePage * spectre_document_get_page_by_label ( SpectreDocument * document,
const char * label )

Returns a page of the document referenced by label. This function can fail

Parameters
documentthe document whose page will be returned
labelthe label of the page to get.
See also
spectre_document_status

◆ spectre_document_get_page_size()

SPECTRE_PUBLIC void spectre_document_get_page_size ( SpectreDocument * document,
int * width,
int * height )

◆ spectre_document_get_title()

SPECTRE_PUBLIC const char * spectre_document_get_title ( SpectreDocument * document)

Returns the title of the document. It returns a null const char * if the document specifies no title. This function can fail

Parameters
documentthe document whose title will be returned
See also
spectre_document_status

◆ spectre_document_is_eps()

SPECTRE_PUBLIC int spectre_document_is_eps ( SpectreDocument * document)

Returns if the document is a Encapsulated PostScript file. This function can fail

Parameters
documentthe document to query
See also
spectre_document_status

◆ spectre_document_load()

SPECTRE_PUBLIC void spectre_document_load ( SpectreDocument * document,
const char * filename )

Loads a the given file into the document. This function can fail

Parameters
documentthe document where the file will be loaded
filenamethe file to loa
See also
spectre_document_status

◆ spectre_document_new()

SPECTRE_PUBLIC SpectreDocument * spectre_document_new ( void )

Creates a document

◆ spectre_document_render()

SPECTRE_PUBLIC void spectre_document_render ( SpectreDocument * document,
unsigned char ** page_data,
int * row_length )

Convenient function for rendering documents with no pages, tipically eps. Document will be rendered with the default options, use spectre_document_render_full if you want to change any of them. When used with multi-page documents the first page will be rendered.

Parameters
documentthe document to render @width the page width will be returned here, or NULL @height the page height will be returned here, or NULL @page_data a pointer that will point to the image data @row_length the length of an image row will be returned here
See also
spectre_document_render_full

◆ spectre_document_render_full()

SPECTRE_PUBLIC void spectre_document_render_full ( SpectreDocument * document,
SpectreRenderContext * rc,
unsigned char ** page_data,
int * row_length )

Convenient function for rendering documents with no pages, tipically eps. When used with multi-page documents the first page will be rendered.

Parameters
documentthe document to render @rc the rendering context specifying how the document has to be rendered @width the page width will be returned here, or NULL @height the page height will be returned here, or NULL @page_data a pointer that will point to the image data @row_length the length of an image row will be returned here
See also
spectre_document_render_full

◆ spectre_document_save()

SPECTRE_PUBLIC void spectre_document_save ( SpectreDocument * document,
const char * filename )

Save document as filename. This function can fail

Parameters
documentthe document that will be saved
filenamethe path where document will be saved
See also
spectre_document_status

◆ spectre_document_save_to_pdf()

SPECTRE_PUBLIC void spectre_document_save_to_pdf ( SpectreDocument * document,
const char * filename )

◆ spectre_document_status()

SPECTRE_PUBLIC SpectreStatus spectre_document_status ( SpectreDocument * document)

Returns the document status

Parameters
documentthe document whose status will be returned