libspectre/spectre-document.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "spectre-document.h"
#include "spectre-private.h"
#include "spectre-exporter.h"
#include "spectre-utils.h"

Data Structures

struct  SpectreDocument

Functions

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

Function Documentation

struct document* _spectre_document_get_doc ( SpectreDocument document  )  [read]

void spectre_document_free ( SpectreDocument document  ) 

Frees the document

Parameters:
document the document that will be freed

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:
document the document whose creation date will be returned
See also:
spectre_document_status

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:
document the document whose creator will be returned
See also:
spectre_document_status

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:
document the document whose for will be returned
See also:
spectre_document_status

const char* spectre_document_get_format ( SpectreDocument document  ) 

Returns the format of the document. This function can fail

Parameters:
document the document whose format will be returned
See also:
spectre_document_status

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:
document the document whose language level will be returned
See also:
spectre_document_status

unsigned int spectre_document_get_n_pages ( SpectreDocument document  ) 

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

Parameters:
document the document whose pages number will be returned
See also:
spectre_document_status

SpectreOrientation spectre_document_get_orientation ( SpectreDocument document  ) 

Returns the orientation of the document. This function can fail

Parameters:
document the document whose orientation will be returned
See also:
spectre_document_status

SpectrePage* spectre_document_get_page ( SpectreDocument document,
unsigned int  page_index 
)

Returns a page of the document. This function can fail

Parameters:
document the document whose page will be returned
page_index the page index to get. First page has index 0.
See also:
spectre_document_status

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:
document the document whose page will be returned
label the label of the page to get.
See also:
spectre_document_status

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

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:
document the document whose title will be returned
See also:
spectre_document_status

int spectre_document_is_eps ( SpectreDocument document  ) 

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

Parameters:
document the document to query
See also:
spectre_document_status

void spectre_document_load ( SpectreDocument document,
const char *  filename 
)

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

Parameters:
document the document where the file will be loaded
filename the file to loa
See also:
spectre_document_status

SpectreDocument* spectre_document_new ( void   ) 

Creates a document

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:
document the document to render the page width will be returned here, or NULL the page height will be returned here, or NULL a pointer that will point to the image data the length of an image row will be returned here
See also:
spectre_document_render_full

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:
document the document to render the rendering context specifying how the document has to be rendered the page width will be returned here, or NULL the page height will be returned here, or NULL a pointer that will point to the image data the length of an image row will be returned here
See also:
spectre_document_render_full

void spectre_document_save ( SpectreDocument document,
const char *  filename 
)

Save document as filename. This function can fail

Parameters:
document the document that will be saved
filename the path where document will be saved
See also:
spectre_document_status

void spectre_document_save_to_pdf ( SpectreDocument document,
const char *  filename 
)

SpectreStatus spectre_document_status ( SpectreDocument document  ) 

Returns the document status

Parameters:
document the document whose status will be returned


Generated on Thu Jan 3 17:29:34 2008 for libspectre by  doxygen 1.5.3