Back to index

scribus-ng  1.3.4.dfsg+svn20071115
Classes | Functions | Variables
objpdffile.cpp File Reference
#include "objpdffile.h"
#include "cmdutil.h"
#include "bookpalette.h"
#include "prefsmanager.h"
#include "scribusdoc.h"
#include "scribuscore.h"
#include <structmember.h>
#include <qfileinfo.h>
#include <vector>

Go to the source code of this file.

Classes

struct  PDFfile

Functions

void SCRIBUS_API ReOrderText (ScribusDoc *doc, ScribusView *view)
static int minmaxi (int val, int min, int max)
static double minmaxd (double val, double min, double max)
static void PDFfile_dealloc (PDFfile *self)
static PyObject * PDFfile_new (PyTypeObject *type, PyObject *, PyObject *)
static int PDFfile_init (PDFfile *self, PyObject *, PyObject *)
static PyObject * PDFfile_getfile (PDFfile *self, void *)
static int PDFfile_setfile (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getfonts (PDFfile *self, void *)
static int PDFfile_setfonts (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getpages (PDFfile *self, void *)
static int PDFfile_setpages (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getresolution (PDFfile *self, void *)
static int PDFfile_setresolution (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getdownsample (PDFfile *self, void *)
static int PDFfile_setdownsample (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_geteffval (PDFfile *self, void *)
static int PDFfile_seteffval (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getlpival (PDFfile *self, void *)
static int PDFfile_setlpival (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getowner (PDFfile *self, void *)
static int PDFfile_setowner (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getuser (PDFfile *self, void *)
static int PDFfile_setuser (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getsolidpr (PDFfile *self, void *)
static int PDFfile_setsolidpr (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getimagepr (PDFfile *self, void *)
static int PDFfile_setimagepr (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getprintprofc (PDFfile *self, void *)
static int PDFfile_setprintprofc (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_getinfo (PDFfile *self, void *)
static int PDFfile_setinfo (PDFfile *self, PyObject *value, void *)
static PyObject * PDFfile_save (PDFfile *self)

Variables

static PyMemberDef PDFfile_members []
static char * effval_doc
static char * lpival_doc
static PyGetSetDef PDFfile_getseters []
static PyMethodDef PDFfile_methods []
PyTypeObject PDFfile_Type

Class Documentation

struct PDFfile

Definition at line 42 of file objpdffile.cpp.

Class Members
int aanot
int achange
int acopy
int aprint
int article
int binding
double bleedb
double bleedl
double bleedr
double bleedt
int bookmarks
int compress
int compressmtd
int domulti
PyObject * downsample
PyObject * effval
int encrypt
PyObject_HEAD PyObject * file
PyObject * fonts
PyObject * imagepr
PyObject * info
int intenti
int intents
PyObject * lpival
int noembicc
int outdst
PyObject * owner
PyObject * pages
int presentation
PyObject * printprofc
int profilei
int profiles
int quality
PyObject * resolution
PyObject * solidpr
int thumbnails
int uselpi
PyObject * user
int usespot
int version

Function Documentation

static double minmaxd ( double  val,
double  min,
double  max 
) [static]

Definition at line 33 of file objpdffile.cpp.

{
       if (val < min)
              return min;
       else if (val > max)
              return max;
       else return val;
}

Here is the caller graph for this function:

static int minmaxi ( int  val,
int  min,
int  max 
) [static]

Definition at line 24 of file objpdffile.cpp.

{
       if (val < min)
              return min;
       else if (val > max)
              return max;
       else return val;
}

Here is the caller graph for this function:

static void PDFfile_dealloc ( PDFfile self) [static]

Definition at line 89 of file objpdffile.cpp.

{
       Py_XDECREF(self->file);
       Py_XDECREF(self->fonts);
       Py_XDECREF(self->pages);
       Py_XDECREF(self->resolution);
       Py_XDECREF(self->downsample);
       Py_XDECREF(self->effval);
       Py_XDECREF(self->lpival);
       Py_XDECREF(self->owner);
       Py_XDECREF(self->user);
       Py_XDECREF(self->solidpr);
       Py_XDECREF(self->imagepr);
       Py_XDECREF(self->printprofc);
       Py_XDECREF(self->info);
       self->ob_type->tp_free((PyObject *)self);
}
static PyObject* PDFfile_getdownsample ( PDFfile self,
void *   
) [static]

Definition at line 666 of file objpdffile.cpp.

{
       Py_INCREF(self->downsample);
       return self->downsample;
}
static PyObject* PDFfile_geteffval ( PDFfile self,
void *   
) [static]

Definition at line 693 of file objpdffile.cpp.

{
       Py_INCREF(self->effval);
       return self->effval;
}
static PyObject* PDFfile_getfile ( PDFfile self,
void *   
) [static]

Definition at line 545 of file objpdffile.cpp.

{
       Py_INCREF(self->file);
       return self->file;
}
static PyObject* PDFfile_getfonts ( PDFfile self,
void *   
) [static]

Definition at line 567 of file objpdffile.cpp.

{
       Py_INCREF(self->fonts);
       return self->fonts;
}
static PyObject* PDFfile_getimagepr ( PDFfile self,
void *   
) [static]

Definition at line 846 of file objpdffile.cpp.

{
       Py_INCREF(self->imagepr);
       return self->imagepr;
}
static PyObject* PDFfile_getinfo ( PDFfile self,
void *   
) [static]

Definition at line 890 of file objpdffile.cpp.

{
       Py_INCREF(self->info);
       return self->info;
}
static PyObject* PDFfile_getlpival ( PDFfile self,
void *   
) [static]

Definition at line 734 of file objpdffile.cpp.

{
       Py_INCREF(self->lpival);
       return self->lpival;
}
static PyObject* PDFfile_getowner ( PDFfile self,
void *   
) [static]

Definition at line 780 of file objpdffile.cpp.

{
       Py_INCREF(self->owner);
       return self->owner;
}
static PyObject* PDFfile_getpages ( PDFfile self,
void *   
) [static]

Definition at line 600 of file objpdffile.cpp.

{
       Py_INCREF(self->pages);
       return self->pages;
}
static PyObject* PDFfile_getprintprofc ( PDFfile self,
void *   
) [static]

Definition at line 868 of file objpdffile.cpp.

{
       Py_INCREF(self->printprofc);
       return self->printprofc;
}
static PyObject* PDFfile_getresolution ( PDFfile self,
void *   
) [static]

Definition at line 639 of file objpdffile.cpp.

{
       Py_INCREF(self->resolution);
       return self->resolution;
}
static PyObject* PDFfile_getsolidpr ( PDFfile self,
void *   
) [static]

Definition at line 824 of file objpdffile.cpp.

{
       Py_INCREF(self->solidpr);
       return self->solidpr;
}
static PyObject* PDFfile_getuser ( PDFfile self,
void *   
) [static]

Definition at line 802 of file objpdffile.cpp.

{
       Py_INCREF(self->user);
       return self->user;
}
static int PDFfile_init ( PDFfile self,
PyObject *  ,
PyObject *   
) [static]

Definition at line 242 of file objpdffile.cpp.

{
       int i;
       if (!ScCore->primaryMainWindow()->HaveDoc) {
              PyErr_SetString(PyExc_SystemError, "Must open doc first");
              return -1;
       }
// defaut save into file
       QString tf = ScCore->primaryMainWindow()->doc->PDF_Options.Datei;
       if (tf.isEmpty()) {
              QFileInfo fi = QFileInfo(ScCore->primaryMainWindow()->doc->DocName);
              tf = fi.dirPath()+"/"+fi.baseName()+".pdf";
       }
       PyObject *file = NULL;
       file = PyString_FromString(tf.ascii());
       if (file){
              Py_DECREF(self->file);
              self->file = file;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'file' attribute");
              return -1;
       }
// embed all used fonts
       PyObject *fonts = NULL;
       fonts = PyList_New(0);
       if (fonts){
              Py_DECREF(self->fonts);
              self->fonts = fonts;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'fonts' attribute");
              return -1;
       }
       // get all used fonts
       QMap<QString,int> ReallyUsed = ScCore->primaryMainWindow()->doc->UsedFonts;
       // create list of all used fonts
       QValueList<QString> tmpEm;
       tmpEm = ReallyUsed.keys();
       QValueList<QString>::Iterator itef;
       for (itef = tmpEm.begin(); itef != tmpEm.end(); ++itef) {
// AV: dunno what this is for, but it looks as if it's the only place where HasMetrics is used...
//            if (PrefsManager::instance()->appPrefs.AvailFonts[(*itef).ascii()]->HasMetrics) {
                     PyObject *tmp= NULL;
                     tmp = PyString_FromString((*itef).ascii());
                     if (tmp) {
                            PyList_Append(self->fonts, tmp);
// do i need Py_DECREF(tmp) here?
// Does PyList_Append increase reference or 'steal' one from provided argument
// If it 'steal' reference comment next line
                            Py_DECREF(tmp);
                     }
                     else {
                            PyErr_SetString(PyExc_SystemError, "Can not initialize 'fonts' attribute");
                            return -1;
                     }
//            }
       }
// set to print all pages
       PyObject *pages = NULL;
       int num = 0;
       // which one should I use ???
       // new = ScCore->primaryMainWindow()->view->Pages.count()
       num = ScCore->primaryMainWindow()->doc->Pages->count();
       pages = PyList_New(num);
       if (!pages){
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'pages' attribute");
              return -1;
       }
       for (i = 0; i<num; ++i) {
              PyObject *tmp;
              tmp = PyInt_FromLong((long)i+1L);
              if (tmp)
                     PyList_SetItem(pages, i, tmp);
              else {
                     PyErr_SetString(PyExc_SystemError, "Can not initialize 'pages' attribute");
                     return -1;
              }
       }
       Py_DECREF(self->pages);
       self->pages = pages;
// do not print thumbnails
       self->thumbnails = ScCore->primaryMainWindow()->doc->PDF_Options.Thumbnails;
// set automatic compression
       self->compress = ScCore->primaryMainWindow()->doc->PDF_Options.Compress;
       self->compressmtd = ScCore->primaryMainWindow()->doc->PDF_Options.CompressMethod;
// use maximum image quality
       self->quality = ScCore->primaryMainWindow()->doc->PDF_Options.Quality;
// default resolution
       PyObject *resolution = NULL;
       resolution = PyInt_FromLong(300);
       if (resolution){
              Py_DECREF(self->resolution);
              self->resolution = resolution;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'resolutin' attribute");
              return -1;
       }
// do not downsample images
       int down = ScCore->primaryMainWindow()->doc->PDF_Options.RecalcPic ? ScCore->primaryMainWindow()->doc->PDF_Options.PicRes : 0;
       PyObject *downsample = NULL;
       downsample = PyInt_FromLong(down);
       if (downsample){
              Py_DECREF(self->downsample);
              self->downsample = downsample;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'downsamle' attribute");
              return -1;
       }
       // no bookmarks
       self->bookmarks = ScCore->primaryMainWindow()->doc->PDF_Options.Bookmarks;
       // left margin binding
       self->binding = ScCore->primaryMainWindow()->doc->PDF_Options.Binding;
       // do not enable presentation effects
       self->presentation = ScCore->primaryMainWindow()->doc->PDF_Options.PresentMode;
       // set effects values for all pages
       PyObject *effval = NULL;
       num = 0;
       // which one should I use ???
       // new = ScCore->primaryMainWindow()->view->Pages.count();
       num = ScCore->primaryMainWindow()->doc->Pages->count();
       effval = PyList_New(num);
       if (!effval){
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'effval' attribute");
              return -1;
       }
       int num2 = ScCore->primaryMainWindow()->doc->PDF_Options.PresentVals.count();
       for (i = 0; i<num2; ++i) {
              PyObject *tmp;
              PDFPresentationData t = ScCore->primaryMainWindow()->doc->PDF_Options.PresentVals[i];
              tmp = Py_BuildValue(const_cast<char*>("[iiiiii]"), t.pageEffectDuration, t.pageViewDuration, t.effectType, t.Dm, t.M, t.Di );
              if (tmp)
                     PyList_SetItem(effval, i, tmp);
              else {
                     PyErr_SetString(PyExc_SystemError, "Can not initialize 'effval' attribute");
                     return -1;
              }
              for (; i<num; ++i) {
                     PyObject *tmp;
                     tmp = Py_BuildValue(const_cast<char*>("[iiiiii]"), 1, 1, 0, 0, 0, 0);
                     if (tmp)
                            PyList_SetItem(effval, i, tmp);
                     else {
                            PyErr_SetString(PyExc_SystemError, "Can not initialize 'effval' attribute");
                            return -1;
                     }
              }
       }
       Py_DECREF(self->effval);
       self->effval = effval;
// do not save linked text frames as PDF article
       self->article = ScCore->primaryMainWindow()->doc->PDF_Options.Articles;
// do not encrypt file
       self->encrypt = ScCore->primaryMainWindow()->doc->PDF_Options.Encrypt;
// do not Use Custom Rendering Settings
       self->uselpi = ScCore->primaryMainWindow()->doc->PDF_Options.UseLPI;
       self->usespot = ScCore->primaryMainWindow()->doc->PDF_Options.UseSpotColors;
       self->domulti = ScCore->primaryMainWindow()->doc->PDF_Options.doMultiFile;
// get default values for lpival
       int n = ScCore->primaryMainWindow()->doc->PDF_Options.LPISettings.size();
       PyObject *lpival=PyList_New(n);
       if (!lpival){
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'lpival' attribute");
              return -1;
       }
       QMap<QString,LPIData>::Iterator it = ScCore->primaryMainWindow()->doc->PDF_Options.LPISettings.begin();
       while (it != ScCore->primaryMainWindow()->doc->PDF_Options.LPISettings.end()) {
              PyObject *tmp;
              tmp = Py_BuildValue(const_cast<char*>("[siii]"), it.key().ascii(), it.data().Frequency, it.data().Angle, it.data().SpotFunc);
              if (!tmp) {
                     PyErr_SetString(PyExc_SystemError, "Can not initialize 'lpival' attribute");
                     return -1;
              }
              PyList_SetItem(lpival, --n, tmp);
              ++it;
       }
       PyList_Reverse(lpival);
       Py_DECREF(self->lpival);
       self->lpival = lpival;
// set owner's password
       PyObject *owner = NULL;
       owner = PyString_FromString(ScCore->primaryMainWindow()->doc->PDF_Options.PassOwner.ascii());
       if (owner){
              Py_DECREF(self->owner);
              self->owner = owner;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'owner' attribute");
              return -1;
       }
// set user'a password
       PyObject *user = NULL;
       user = PyString_FromString(ScCore->primaryMainWindow()->doc->PDF_Options.PassUser.ascii());
       if (user){
              Py_DECREF(self->user);
              self->user = user;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'user' attribute");
              return -1;
       }
// allow printing document
       self->aprint = ScCore->primaryMainWindow()->doc->PDF_Options.Permissions & 4;
// allow changing document
       self->achange = ScCore->primaryMainWindow()->doc->PDF_Options.Permissions & 8;
// allow copying document
       self->acopy = ScCore->primaryMainWindow()->doc->PDF_Options.Permissions & 16;
// allow adding annotation and fields
       self->aanot = ScCore->primaryMainWindow()->doc->PDF_Options.Permissions & 32;
// use 1.4 pdf version *aka. Acrobat 5)
       self->version = ScCore->primaryMainWindow()->doc->PDF_Options.Version;
// output destination is screen
       self->outdst = ScCore->primaryMainWindow()->doc->PDF_Options.UseRGB ? 0 : 1;

       self->profiles = ScCore->primaryMainWindow()->doc->PDF_Options.UseProfiles; // bool
       self->profilei = ScCore->primaryMainWindow()->doc->PDF_Options.UseProfiles2; // bool
       self->noembicc = ScCore->primaryMainWindow()->doc->PDF_Options.EmbeddedI; // bool
       self->intents = ScCore->primaryMainWindow()->doc->PDF_Options.Intent; // int - 0 - 3
       self->intenti = ScCore->primaryMainWindow()->doc->PDF_Options.Intent2; // int - 0 - 3
       QString tp = ScCore->primaryMainWindow()->doc->PDF_Options.SolidProf;
       if (!ScCore->InputProfiles.contains(tp))
              tp = ScCore->primaryMainWindow()->view->Doc->CMSSettings.DefaultSolidColorRGBProfile;
       PyObject *solidpr = NULL;
       solidpr = PyString_FromString(tp.ascii());
       if (solidpr){
              Py_DECREF(self->solidpr);
              self->solidpr = solidpr;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'solidpr' attribute");
              return -1;
       }
       QString tp2 = ScCore->primaryMainWindow()->doc->PDF_Options.ImageProf;
       if (!ScCore->InputProfiles.contains(tp2))
              tp2 = ScCore->primaryMainWindow()->view->Doc->CMSSettings.DefaultSolidColorRGBProfile;
       PyObject *imagepr = NULL;
       imagepr = PyString_FromString(tp2.ascii());
       if (imagepr){
              Py_DECREF(self->imagepr);
              self->imagepr = imagepr;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'imagepr' attribute");
              return -1;
       }
       QString tp3 = ScCore->primaryMainWindow()->doc->PDF_Options.PrintProf;
       if (!ScCore->PDFXProfiles.contains(tp3))
              tp3 = ScCore->primaryMainWindow()->view->Doc->CMSSettings.DefaultPrinterProfile;
       PyObject *printprofc = NULL;
       printprofc = PyString_FromString(tp3.ascii());
       if (printprofc){
              Py_DECREF(self->printprofc);
              self->printprofc = printprofc;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'printprofc' attribute");
              return -1;
       }
       QString tinfo = ScCore->primaryMainWindow()->doc->PDF_Options.Info;
       PyObject *info = NULL;
       info = PyString_FromString(tinfo.ascii());
       if (info){
              Py_DECREF(self->info);
              self->info = info;
       } else {
              PyErr_SetString(PyExc_SystemError, "Can not initialize 'info' attribute");
              return -1;
       }
       self->bleedt = ScCore->primaryMainWindow()->doc->PDF_Options.bleeds.Top*ScCore->primaryMainWindow()->doc->unitRatio(); // double -
       self->bleedl = ScCore->primaryMainWindow()->doc->PDF_Options.bleeds.Left*ScCore->primaryMainWindow()->doc->unitRatio(); // double -
       self->bleedr = ScCore->primaryMainWindow()->doc->PDF_Options.bleeds.Right*ScCore->primaryMainWindow()->doc->unitRatio(); // double -
       self->bleedb = ScCore->primaryMainWindow()->doc->PDF_Options.bleeds.Bottom*ScCore->primaryMainWindow()->doc->unitRatio(); // double -

       return 0;
}

Here is the call graph for this function:

static PyObject* PDFfile_new ( PyTypeObject *  type,
PyObject *  ,
PyObject *   
) [static]

Definition at line 107 of file objpdffile.cpp.

{
// do not create new object if there is no opened document
       if (!ScCore->primaryMainWindow()->HaveDoc) {
              PyErr_SetString(PyExc_SystemError, "Need to open document first");
              return NULL;
       }

       PDFfile *self;

       self = (PDFfile *)type->tp_alloc(type, 0);
       if (self) {
// set file attribute
              self->file = PyString_FromString("");
              if (!self->file){
                     Py_DECREF(self);
                     return NULL;
              }
// set fonts attribute
              self->fonts = PyList_New(0);
              if (!self->fonts){
                     Py_DECREF(self);
                     return NULL;
              }
// set pages attribute
              self->pages = PyList_New(0);
              if (self->pages == NULL){
                     Py_DECREF(self);
                     return NULL;
              }
// set thumbnails attribute
              self->thumbnails = 0;
// set compress attribute
              self->compress = 0;
// set compressmtd attribute
              self->compressmtd = 0;
// set quality attribute
              self->quality = 0;
// set resolution attribute
              self->resolution = PyInt_FromLong(300);
              if (!self->resolution){
                     Py_DECREF(self);
                     return NULL;
              }
// set downsample attribute
              self->downsample = PyInt_FromLong(0);
              if (!self->downsample){
                     Py_DECREF(self);
                     return NULL;
              }
// set bookmarks attribute
              self->bookmarks = 0;
// set binding attribute
              self->binding = 0;
// set presentation attribute
              self->presentation = 0;
// set effval attribute
              self->effval = PyList_New(0);
              if (!self->effval){
                     Py_DECREF(self);
                     return NULL;
              }
// set article attribute
              self->article = 0;
// set encrypt attribute
              self->encrypt = 0;
// set uselpi attribute
              self->uselpi = 0;
              self->usespot = 1;
              self->domulti = 0;
// set lpival attribute
              self->lpival = PyList_New(0);
              if (!self->lpival){
                     Py_DECREF(self);
                     return NULL;
              }
// set owner attribute
              self->owner = PyString_FromString("");
              if (!self->owner){
                     Py_DECREF(self);
                     return NULL;
              }
// set user attribute
              self->user = PyString_FromString("");
              if (!self->user){
                     Py_DECREF(self);
                     return NULL;
              }
// set aprint attribute
              self->aprint = 1;
// set achange attribute
              self->achange = 1;
// set acopy attribute
              self->acopy = 1;
// set aanot attribute
              self->aanot = 1;
// set version attribute
              self->version = 14;
// set output attribute
              self->outdst = 0;


              self->profiles = 0; // bool
              self->profilei = 0; // bool
              self->intents = 0; // int - 0 - ?
              self->intenti = 0; // int - 0 - ?
              self->noembicc = 0; // bool
              self->solidpr = PyString_FromString("");
              if (!self->solidpr){
                     Py_DECREF(self);
                     return NULL;
              }
              self->imagepr = PyString_FromString("");
              if (!self->imagepr){
                     Py_DECREF(self);
                     return NULL;
              }
              self->printprofc = PyString_FromString("");
              if (!self->printprofc){
                     Py_DECREF(self);
                     return NULL;
              }
              self->info = PyString_FromString("");
              if (!self->info){
                     Py_DECREF(self);
                     return NULL;
              }
              self->bleedt = 0; // double -
              self->bleedl = 0; // double -
              self->bleedr = 0; // double -
              self->bleedb = 0; // double -
       }
       return (PyObject *) self;
}

Here is the call graph for this function:

static PyObject* PDFfile_save ( PDFfile self) [static]

Definition at line 949 of file objpdffile.cpp.

{
       if (!ScCore->primaryMainWindow()->HaveDoc) {
              PyErr_SetString(PyExc_SystemError, "Need to open document first");
              return NULL;
       };

// copied from file scribus.cpp
//void ScribusMainWindow::SaveAsPDF()
       int Components = 3;
       QString nam = "";
       if (ScCore->primaryMainWindow()->bookmarkPalette->BView->childCount() == 0)
              ScCore->primaryMainWindow()->doc->PDF_Options.Bookmarks = false;

// apply fonts attribute
       ScCore->primaryMainWindow()->doc->PDF_Options.EmbedList.clear();
       int n = PyList_Size(self->fonts);
       for ( int i=0; i<n; ++i){
              QString tmpFon;
              tmpFon = QString(PyString_AsString(PyList_GetItem(self->fonts, i)));
              ScCore->primaryMainWindow()->doc->PDF_Options.EmbedList.append(tmpFon);
       }
// apply file attribute
       QString fn;
       fn = QString(PyString_AsString(self->file));
       ScCore->primaryMainWindow()->doc->PDF_Options.Datei = fn;
// apply pages attribute
       std::vector<int> pageNs;
       int nn=PyList_Size(self->pages);
       for (int i = 0; i < nn; ++i) {
              pageNs.push_back((int)PyInt_AsLong(PyList_GetItem(self->pages, i)));
       }
// apply thumbnails attribute
       ScCore->primaryMainWindow()->doc->PDF_Options.Thumbnails = self->thumbnails;
// apply compress attribute
       self->compressmtd = minmaxi(self->compressmtd, 0, 3);
       ScCore->primaryMainWindow()->doc->PDF_Options.Compress = self->compress;
       ScCore->primaryMainWindow()->doc->PDF_Options.CompressMethod = self->compressmtd;
// apply quality attribute
       self->quality = minmaxi(self->quality, 0, 4);
       ScCore->primaryMainWindow()->doc->PDF_Options.Quality = self->quality;
// apply resolusion attribute
       ScCore->primaryMainWindow()->doc->PDF_Options.Resolution = PyInt_AsLong(self->resolution);
// apply downsample attribute
       ScCore->primaryMainWindow()->doc->PDF_Options.RecalcPic = PyInt_AsLong(self->downsample);
       if (ScCore->primaryMainWindow()->doc->PDF_Options.RecalcPic)
              ScCore->primaryMainWindow()->doc->PDF_Options.PicRes = PyInt_AsLong(self->downsample);
       else
              ScCore->primaryMainWindow()->doc->PDF_Options.PicRes = ScCore->primaryMainWindow()->doc->PDF_Options.Resolution;
// apply bookmarks attribute
       ScCore->primaryMainWindow()->doc->PDF_Options.Bookmarks = self->bookmarks;
// apply binding attribute
       ScCore->primaryMainWindow()->doc->PDF_Options.Binding = self->binding;
// apply presentation attribute
       ScCore->primaryMainWindow()->doc->PDF_Options.PresentMode = self->presentation;

       QValueList<PDFPresentationData> PresentVals;
       PresentVals.clear();
       int tmpnum;
       tmpnum=PyList_Size(self->effval);
       for (int i=0; i<tmpnum; ++i) {
              PDFPresentationData t;
// How do I make this commented piece of code to work?
// I always get an error here
              PyObject *ti = PyList_GetItem(self->effval, i);
//             if (!PyArg_ParseTuple(ti , "[iiiiii]",
//                            &t.pageEffectDuration, &t.pageViewDuration, &t.effectType, &t.Dm,
//                            &t.M, &t.Di)) {
//                    PyErr_SetString(PyExc_SystemError, "while parsing 'effval'. WHY THIS HAPPENED????");
//                    return NULL;
//             }
//             PresentVals.append(t);
                            // pv 10/03/2004 crashed when pt is null
                            if (ti)
                            {
                                   // Do I Need to check if every PyInt_AsLong and PyList_GetItem funtion succeed???
                                   t.pageEffectDuration = PyInt_AsLong(PyList_GetItem(ti, 0));
                                   t.pageViewDuration = PyInt_AsLong(PyList_GetItem(ti, 1));
                                   t.effectType = PyInt_AsLong(PyList_GetItem(ti, 2));
                                   t.Dm = PyInt_AsLong(PyList_GetItem(ti, 3));
                                   t.M = PyInt_AsLong(PyList_GetItem(ti, 4));
                                   t.Di = PyInt_AsLong(PyList_GetItem(ti, 5));
                                   PresentVals.append(t);
                            } // if ti=NULL

       }

       ScCore->primaryMainWindow()->doc->PDF_Options.PresentVals = PresentVals;
// apply lpival
       int n2 = PyList_Size(self->lpival);
       for (int i=0; i<n2; ++i){
              LPIData lpi;
              PyObject *t = PyList_GetItem(self->lpival, i);
// This code always raise exception - WHY???
//            char *s;
//             if (!PyArg_ParseTuple(t, "[siii]", &s, &lpi.Frequency,
//                            &lpi.Angle, &lpi.SpotFunc)) {
//                    PyErr_SetString(PyExc_SystemError, "while parsing 'lpival'. WHY THIS HAPPENED????");
//                    return NULL;
//             }
//             ScCore->primaryMainWindow()->doc->PDF_Options.LPISettings[QString(s)]=lpi;
              QString st;
              st = QString(PyString_AsString(PyList_GetItem(t,0)));
              lpi.Frequency = PyInt_AsLong(PyList_GetItem(t, 1));
              lpi.Angle = PyInt_AsLong(PyList_GetItem(t, 2));
              lpi.SpotFunc = PyInt_AsLong(PyList_GetItem(t, 3));
              ScCore->primaryMainWindow()->doc->PDF_Options.LPISettings[st]=lpi;
       }

       ScCore->primaryMainWindow()->doc->PDF_Options.Articles = self->article;
       ScCore->primaryMainWindow()->doc->PDF_Options.Encrypt = self->encrypt;
       ScCore->primaryMainWindow()->doc->PDF_Options.UseLPI = self->uselpi;
       ScCore->primaryMainWindow()->doc->PDF_Options.UseSpotColors = self->usespot;
       ScCore->primaryMainWindow()->doc->PDF_Options.doMultiFile = self->domulti;
       self->version = minmaxi(self->version, 12, 14);
       // FIXME: Sanity check version
       ScCore->primaryMainWindow()->doc->PDF_Options.Version = (PDFOptions::PDFVersion)self->version;
       if (self->encrypt)
       {
              int Perm = -64;
              if (ScCore->primaryMainWindow()->doc->PDF_Options.Version == PDFOptions::PDFVersion_14)
                     Perm &= ~0x00240000;
              if (self->aprint)
                     Perm += 4;
              if (self->achange)
                     Perm += 8;
              if (self->acopy)
                     Perm += 16;
              if (self->aanot)
                     Perm += 32;
              ScCore->primaryMainWindow()->doc->PDF_Options.Permissions = Perm;
              ScCore->primaryMainWindow()->doc->PDF_Options.PassOwner = QString(PyString_AsString(self->owner));
              ScCore->primaryMainWindow()->doc->PDF_Options.PassUser = QString(PyString_AsString(self->user));
       }
       if (self->outdst == 0)
       {
              ScCore->primaryMainWindow()->doc->PDF_Options.UseRGB = true;
              ScCore->primaryMainWindow()->doc->PDF_Options.UseProfiles = false;
              ScCore->primaryMainWindow()->doc->PDF_Options.UseProfiles2 = false;
       }
       else
       {
              ScCore->primaryMainWindow()->doc->PDF_Options.UseRGB = false;
              if (ScCore->primaryMainWindow()->doc->HasCMS)
              {
                     ScCore->primaryMainWindow()->doc->PDF_Options.UseProfiles = self->profiles;
                     ScCore->primaryMainWindow()->doc->PDF_Options.UseProfiles2 = self->profilei;
                     self->intents = minmaxi(self->intents, 0, 3);
                     ScCore->primaryMainWindow()->doc->PDF_Options.Intent = self->intents;
                     self->intenti = minmaxi(self->intenti, 0, 3);
                     ScCore->primaryMainWindow()->doc->PDF_Options.Intent2 = self->intenti;
                     ScCore->primaryMainWindow()->doc->PDF_Options.EmbeddedI = self->noembicc;
                     ScCore->primaryMainWindow()->doc->PDF_Options.SolidProf = PyString_AsString(self->solidpr);
                     ScCore->primaryMainWindow()->doc->PDF_Options.ImageProf = PyString_AsString(self->imagepr);
                     ScCore->primaryMainWindow()->doc->PDF_Options.PrintProf = PyString_AsString(self->printprofc);
                     if (ScCore->primaryMainWindow()->doc->PDF_Options.Version == PDFOptions::PDFVersion_X3)
                     {
// Where does compiler find cms function when I have not included header for it
                            const char *Descriptor;
                            cmsHPROFILE hIn;
                            hIn = cmsOpenProfileFromFile(ScCore->PrinterProfiles[ScCore->primaryMainWindow()->doc->PDF_Options.PrintProf], "r");
                            Descriptor = cmsTakeProductDesc(hIn);
                            nam = QString(Descriptor);
                            if (static_cast<int>(cmsGetColorSpace(hIn)) == icSigRgbData)
                                   Components = 3;
                            if (static_cast<int>(cmsGetColorSpace(hIn)) == icSigCmykData)
                                   Components = 4;
                            if (static_cast<int>(cmsGetColorSpace(hIn)) == icSigCmyData)
                                   Components = 3;
                            cmsCloseProfile(hIn);
                            ScCore->primaryMainWindow()->doc->PDF_Options.Info = PyString_AsString(self->info);
                            self->bleedt = minmaxd(self->bleedt, 0, ScCore->primaryMainWindow()->view->Doc->pageHeight*ScCore->primaryMainWindow()->view->Doc->unitRatio());
                            ScCore->primaryMainWindow()->doc->PDF_Options.bleeds.Top = self->bleedt/ScCore->primaryMainWindow()->view->Doc->unitRatio();
                            self->bleedl = minmaxd(self->bleedl, 0, ScCore->primaryMainWindow()->view->Doc->pageWidth*ScCore->primaryMainWindow()->view->Doc->unitRatio());
                            ScCore->primaryMainWindow()->doc->PDF_Options.bleeds.Left = self->bleedl/ScCore->primaryMainWindow()->view->Doc->unitRatio();
                            self->bleedr = minmaxd(self->bleedr, 0, ScCore->primaryMainWindow()->view->Doc->pageWidth*ScCore->primaryMainWindow()->view->Doc->unitRatio());
                            ScCore->primaryMainWindow()->doc->PDF_Options.bleeds.Right = self->bleedr/ScCore->primaryMainWindow()->view->Doc->unitRatio();
                            self->bleedb = minmaxd(self->bleedb, 0, ScCore->primaryMainWindow()->view->Doc->pageHeight*ScCore->primaryMainWindow()->view->Doc->unitRatio());
                            ScCore->primaryMainWindow()->doc->PDF_Options.bleeds.Bottom = self->bleedb/ScCore->primaryMainWindow()->view->Doc->unitRatio();
                            ScCore->primaryMainWindow()->doc->PDF_Options.Encrypt = false;
                            ScCore->primaryMainWindow()->doc->PDF_Options.PresentMode = false;
                     }
              }
              else
              {
                     ScCore->primaryMainWindow()->doc->PDF_Options.UseProfiles = false;
                     ScCore->primaryMainWindow()->doc->PDF_Options.UseProfiles2 = false;
              }

       }
       QMap<int,QPixmap> thumbs;
       for (uint ap = 0; ap < pageNs.size(); ++ap)
       {
              QPixmap pm(10,10);
              if (ScCore->primaryMainWindow()->doc->PDF_Options.Thumbnails)
                     pm = ScCore->primaryMainWindow()->view->PageToPixmap(pageNs[ap]-1, 100);
              thumbs.insert(pageNs[ap], pm);
       }
       ReOrderText(ScCore->primaryMainWindow()->doc, ScCore->primaryMainWindow()->view);
       if (!ScCore->primaryMainWindow()->getPDFDriver(fn, nam, Components, pageNs, thumbs)) {
              fn = "Cannot write the File: " + fn;
              PyErr_SetString(PyExc_SystemError, fn.ascii());
              return NULL;
       }
//     Py_INCREF(Py_None);
//     return Py_None;
       Py_RETURN_NONE;
}

Here is the call graph for this function:

static int PDFfile_setdownsample ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 672 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'downsample' attribute.");
              return -1;
       }
       if (!PyInt_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "'downsample' attribute value must be integer.");
              return -1;
       }
       int n = PyInt_AsLong(value);
       if (n!=0 && (n<35 || n>PyInt_AsLong(self->resolution))) {
              PyErr_SetString(PyExc_TypeError, "'downsample' value must be 0 or in interval from 35 to value of 'resolutin'");
              return -1;
       }
       Py_DECREF(self->downsample);
       Py_INCREF(value);
       self->downsample = value;
       return 0;
}
static int PDFfile_seteffval ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 699 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'effval' attribute.");
              return -1;
       }
       if (!PyList_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "'effval' must be list.");
              return -1;
       }
       int n = PyList_Size(value);
       for (int i=0; i<n; ++i) {
              PyObject *tmp = PyList_GetItem(value, i);
              if (!PyList_Check(tmp)) {
                     PyErr_SetString(PyExc_TypeError, "elemets of 'effval' must be list of five integers.");
                     return -1;
              }
              int j = PyList_Size(tmp);
              if (j != 6) {
                     PyErr_SetString(PyExc_TypeError, "elemets of 'effval' must have exactly six integers.");
                     return -1;
              }
              for ( --j; j > -1; --j) {
                     if (!PyInt_Check(PyList_GetItem(tmp, j))) {
                            PyErr_SetString(PyExc_TypeError, "innermost element of 'effval' must be integers.");
                            return -1;
                     }
              }
       }
       Py_DECREF(self->effval);
       Py_INCREF(value);
       self->effval = value;
       return 0;
}
static int PDFfile_setfile ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 551 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'file' attribute.");
              return -1;
       }
       if (!PyString_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "The 'file' attribute value must be string.");
              return -1;
       }
       Py_DECREF(self->file);
       Py_INCREF(value);
       self->file = value;
       return 0;
}
static int PDFfile_setfonts ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 573 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'fonts' attribute.");
              return -1;
       }
       if (!PyList_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "The 'fonts' attribute value must be list of strings.");
              return -1;
       }
       int n;
       n = PyList_Size(value);
       for (int i=0; i<n; ++i)
              if (!PyString_Check(PyList_GetItem(value, i))) {
                     PyErr_SetString(PyExc_TypeError, "The 'fonts' list must contain only strings.");
                     return -1;
              }
// Do I need to check if supplied string is really
// name of available font???
// this is not implemented yet
       Py_DECREF(self->fonts);
       Py_INCREF(value);
       self->fonts = value;
       PyList_Sort(self->fonts);
       return 0;
}
static int PDFfile_setimagepr ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 852 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'imagepr' attribute.");
              return -1;
       }
       if (!PyString_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "The 'imagepr' attribute value must be string.");
              return -1;
       }
       Py_DECREF(self->imagepr);
       Py_INCREF(value);
       self->imagepr = value;
       return 0;
}
static int PDFfile_setinfo ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 896 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'info' attribute.");
              return -1;
       }
       if (!PyString_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "The 'info' attribute value must be string.");
              return -1;
       }
       Py_DECREF(self->info);
       Py_INCREF(value);
       self->info = value;
       return 0;
}
static int PDFfile_setlpival ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 740 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'lpival' attribute.");
              return -1;
       }
       if (!PyList_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "'lpival' must be list.");
              return -1;
       }
       // Do I need Py_INCREF or Py_DECREF here?
       int n = PyList_Size(value);
       for (int i=0; i<n; ++i) {
              PyObject *tmp = PyList_GetItem(value, i);
              if (!PyList_Check(tmp)) {
                     PyErr_SetString(PyExc_TypeError, "elemets of 'lpival' must be list of five integers.");
                     return -1;
              }
              int j = PyList_Size(tmp);
              if (j != 4) {
                     PyErr_SetString(PyExc_TypeError, "elemets of 'lpival' must have exactly four members.");
                     return -1;
              }
              for ( --j; j > 0; --j) {
                     if (!PyInt_Check(PyList_GetItem(tmp, j))) {
                            PyErr_SetString(PyExc_TypeError, "'lpival'elements must have structure [siii]");
                            return -1;
                     }
              }
              if (!PyString_Check(PyList_GetItem(tmp, 0))) {
                     PyErr_SetString(PyExc_TypeError, "'lpival'elements must have structure [siii]");
                     return -1;
              }
       }
       Py_DECREF(self->lpival);
       Py_INCREF(value);
       self->lpival = value;
       return 0;
}
static int PDFfile_setowner ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 786 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'owner' attribute.");
              return -1;
       }
       if (!PyString_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "'owner' attribute value must be string.");
              return -1;
       }
       Py_DECREF(self->owner);
       Py_INCREF(value);
       self->owner = value;
       return 0;
}
static int PDFfile_setpages ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 606 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'pages' attribute.");
              return -1;
       }
       if (!PyList_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "'pages' attribute value must be list of integers.");
              return -1;
       }
       int len = PyList_Size(value);
       for (int i = 0; i<len; i++){
              PyObject *tmp = PyList_GetItem(value, i);
              // I did not check if tmp is NULL
              // how can PyList_GetItem fail in this case (my guess: short of available memory?)
              // Also do I need Py_INCREF or Py_DECREF here?
              if (!PyInt_Check(tmp)){
                     PyErr_SetString(PyExc_TypeError, "'pages' list must contain only integers.");
                     return -1;
              }
              if (PyInt_AsLong(tmp) > static_cast<int>(ScCore->primaryMainWindow()->doc->Pages->count()) || PyInt_AsLong(tmp) < 1) {
                     PyErr_SetString(PyExc_ValueError, "'pages' value out of range.");
                     return -1;
              }
       }
       Py_DECREF(self->pages);
       Py_INCREF(value);
       self->pages = value;
       PyList_Sort(self->pages);
       return 0;
}

Here is the call graph for this function:

static int PDFfile_setprintprofc ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 874 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'printprofc' attribute.");
              return -1;
       }
       if (!PyString_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "The 'printprofc' attribute value must be string.");
              return -1;
       }
       Py_DECREF(self->printprofc);
       Py_INCREF(value);
       self->printprofc = value;
       return 0;
}
static int PDFfile_setresolution ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 645 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'resolution' attribute.");
              return -1;
       }
       if (!PyInt_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "'resolution' attribute value must be integer.");
              return -1;
       }
       int n = PyInt_AsLong(value);
       if (n<35 || n>4000) {
              PyErr_SetString(PyExc_ValueError, "'compress' value must be in interval from 35 to 4000");
              return -1;
       }
       Py_DECREF(self->resolution);
       Py_INCREF(value);
       self->resolution = value;
       return 0;
}
static int PDFfile_setsolidpr ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 830 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'solidpr' attribute.");
              return -1;
       }
       if (!PyString_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "The 'solidpr' attribute value must be string.");
              return -1;
       }
       Py_DECREF(self->solidpr);
       Py_INCREF(value);
       self->solidpr = value;
       return 0;
}
static int PDFfile_setuser ( PDFfile self,
PyObject *  value,
void *   
) [static]

Definition at line 808 of file objpdffile.cpp.

{
       if (value == NULL) {
              PyErr_SetString(PyExc_TypeError, "Cannot delete 'user' attribute.");
              return -1;
       }
       if (!PyString_Check(value)) {
              PyErr_SetString(PyExc_TypeError, "'user' attribute value must be string.");
              return -1;
       }
       Py_DECREF(self->user);
       Py_INCREF(value);
       self->user = value;
       return 0;
}
void SCRIBUS_API ReOrderText ( ScribusDoc *  doc,
ScribusView *  view 
)

Definition at line 714 of file util.cpp.

{
       double savScale = view->scale();
       view->setScale(1.0);
       currentDoc->RePos = true;
       QPixmap pgPix(10, 10);
       QRect rd = QRect(0,0,9,9);
       ScPainter *painter = new ScPainter(&pgPix, pgPix.width(), pgPix.height());
       for (uint azz=0; azz<currentDoc->MasterItems.count(); ++azz)
       {
              PageItem *currItem = currentDoc->MasterItems.at(azz);
              if (currItem->itemType() == PageItem::PathText)
                     currItem->DrawObj(painter, rd);
       }
       for (uint azz=0; azz<currentDoc->Items->count(); ++azz)
       {
              PageItem *currItem = currentDoc->Items->at(azz);
              if (currItem->itemType() == PageItem::TextFrame)
                     currItem->asTextFrame()->layout();
              else if (currItem->itemType() == PageItem::PathText)
                     currItem->DrawObj(painter, rd);
       }
       currentDoc->RePos = false;
       view->setScale(savScale);
       delete painter;
}

Here is the caller graph for this function:


Variable Documentation

char* effval_doc [static]
Initial value:
 const_cast<char*>(
"List of effection values for each saved page.\n"
"It is list of list of six integers. Those int has followin meaning:\n\t"
"- Length of time the page is shown before the presentation\n\tstarts on the selected page. (1-3600)\n\t"
"- Length of time the effect runs. (1 - 3600)\n\t\tA shorter time will speed up the effect,\n\t\ta longer one will slow it down\n\t"
"- Type of the display effect\n\t\t0 - No Effect\n\t\t1 - Blinds\n\t\t2 - Box\n\t\t3 - Dissolve\n\t\t4 - Glitter\n\t\t5 - Split\n\t\t6 - Wipe\n\t"
"- Direction of the effect of moving lines\n\tfor the split and blind effects.\n\t\t0 - Horizontal\n\t\t1 - Vertical\n\t"
"- Starting position for the box and split effects.\n\t\t0 - Inside\n\t\t1 - Outside\n\t"
"- Direction of the glitter or wipe effects.\n\t\t0 - Left to Right\n\t\t1 - Top to Bottom\n\t\t2 - Bottom to Top\n\t\t3 - Right to Left\n\t\t4 - Top-left to Bottom-Right")

Definition at line 912 of file objpdffile.cpp.

char* lpival_doc [static]
Initial value:
 const_cast<char*>(
"Rendering Settings for individual colors.\n\n"
"This is list of values for each color\n"
"Color values have structure [siii] which stand for:\n\t"
"s - Color name ('Black', 'Cyan', 'Magenta', 'Yellow')\n\t"
"i - Frequency (10 to 1000)\n\t"
"i - Angle (-180 to 180)\n\t"
"i - Spot Function\n\t\t0 - Simple Dot\n\t\t1 - Line\n\t\t2 - Round\n\t\t3 - Ellipse\n"
"Be carefull when supplying these values as they\nare not checked for validity.")

Definition at line 922 of file objpdffile.cpp.

PyGetSetDef PDFfile_getseters[] [static]
Initial value:
 {
       {const_cast<char*>("file"), (getter)PDFfile_getfile, (setter)PDFfile_setfile, const_cast<char*>("Name of file to save into"), NULL},
       {const_cast<char*>("fonts"), (getter)PDFfile_getfonts, (setter)PDFfile_setfonts, const_cast<char*>("List of fonts to embed."), NULL},
       {const_cast<char*>("pages"), (getter)PDFfile_getpages, (setter)PDFfile_setpages, const_cast<char*>("List of pages to print"), NULL},
       {const_cast<char*>("resolution"), (getter)PDFfile_getresolution, (setter)PDFfile_setresolution, const_cast<char*>("Resolution of output file. Values from 35 to 4000."), NULL},
       {const_cast<char*>("downsample"), (getter)PDFfile_getdownsample, (setter)PDFfile_setdownsample, const_cast<char*>("Downsample image resolusion to this value. Values from 35 to 4000\nSet 0 for not to downsample"), NULL},
       {const_cast<char*>("effval"), (getter)PDFfile_geteffval, (setter)PDFfile_seteffval, effval_doc, NULL},
       {const_cast<char*>("lpival"), (getter)PDFfile_getlpival, (setter)PDFfile_setlpival, lpival_doc, NULL},
       {const_cast<char*>("owner"), (getter)PDFfile_getowner, (setter)PDFfile_setowner, const_cast<char*>("Owner's password"), NULL},
       {const_cast<char*>("user"), (getter)PDFfile_getuser, (setter)PDFfile_setuser, const_cast<char*>("User's password"), NULL},
       {const_cast<char*>("solidpr"), (getter)PDFfile_getsolidpr, (setter)PDFfile_setsolidpr, const_cast<char*>("Color profile for solid colors"), NULL},
       {const_cast<char*>("imagepr"), (getter)PDFfile_getimagepr, (setter)PDFfile_setimagepr, const_cast<char*>("Color profile for images"), NULL},
       {const_cast<char*>("printprofc"), (getter)PDFfile_getprintprofc, (setter)PDFfile_setprintprofc, const_cast<char*>("Output profile for printing. If possible, get some guidance from your printer on profile selection."), NULL},
       {const_cast<char*>("info"), (getter)PDFfile_getinfo, (setter)PDFfile_setinfo, const_cast<char*>("Mandatory string for PDF/X-3 or the PDF will fail\nPDF/X-3 conformance. We recommend you use the title of the document."), NULL},
       {NULL, NULL, NULL, NULL, NULL}  
}

Definition at line 932 of file objpdffile.cpp.

PyMemberDef PDFfile_members[] [static]
Initial value:
 {
       {const_cast<char*>("thumbnails"), T_INT, offsetof(PDFfile, thumbnails), 0, const_cast<char*>("Generate thumbnails. Bool value.")},
       {const_cast<char*>("compress"), T_INT, offsetof(PDFfile, compress), 0, const_cast<char*>("Compression switch. Bool value.")},
       {const_cast<char*>("compressmtd"), T_INT, offsetof(PDFfile, compressmtd), 0, const_cast<char*>("Compression method.\n\t0 - Automatic\n\t1 - JPEG\n\t2 - zip\n\t3 - None.")},
       {const_cast<char*>("quality"), T_INT, offsetof(PDFfile, quality), 0, const_cast<char*>("Image quality\n\t0 - Maximum\n\t1 - High\n\t2 - Medium\n\t3 - Low\n\t4 - Minimum")},
       {const_cast<char*>("bookmarks"), T_INT, offsetof(PDFfile, bookmarks), 0, const_cast<char*>("Embed the bookmarks you created in your document.\nThese are useful for navigating long PDF documents.\nBool value")},
       {const_cast<char*>("binding"), T_INT, offsetof(PDFfile, binding), 0, const_cast<char*>("Choose binding.\n\t0 - Left binding\n\t1 - Right binding")},
       {const_cast<char*>("presentation"), T_INT, offsetof(PDFfile, presentation), 0, const_cast<char*>("Enable Presentation Effects.Bool value")},
       {const_cast<char*>("article"), T_INT, offsetof(PDFfile, article), 0, const_cast<char*>("Save Linked Text Frames as PDF Articles\n\tBool value")},
       {const_cast<char*>("encrypt"), T_INT, offsetof(PDFfile, encrypt), 0, const_cast<char*>("Use Encription. Bool value")},
       {const_cast<char*>("uselpi"), T_INT, offsetof(PDFfile, uselpi), 0, const_cast<char*>("Use Custom Rendering Settings. Bool value")},
       {const_cast<char*>("usespot"), T_INT, offsetof(PDFfile, usespot), 0, const_cast<char*>("Use Spot Colors. Bool value")},
       {const_cast<char*>("domulti"), T_INT, offsetof(PDFfile, domulti), 0, const_cast<char*>("Produce a PDF File for every Page. Bool value")},
       {const_cast<char*>("aprint"), T_INT, offsetof(PDFfile, aprint), 0, const_cast<char*>("Allow Printing the Document. Bool value")},
       {const_cast<char*>("achange"), T_INT, offsetof(PDFfile, achange), 0, const_cast<char*>("Allow Changing the Document. Bool value")},
       {const_cast<char*>("acopy"), T_INT, offsetof(PDFfile, acopy), 0, const_cast<char*>("Allow Copying Text and Graphics. Bool value")},
       {const_cast<char*>("aanot"), T_INT, offsetof(PDFfile, aanot), 0, const_cast<char*>("Allow Adding Annotations and Fields. Bool value")},
       {const_cast<char*>("version"), T_INT, offsetof(PDFfile, version), 0, const_cast<char*>("Choose PDF version to use:\n\t12 = PDF/X-3\n\t13 = PDF 1.3 (Acrobat 4)\n\t14 = PDF 1.4 (Acrobat 5)")},
       {const_cast<char*>("outdst"), T_INT, offsetof(PDFfile, outdst), 0, const_cast<char*>("Output destination.\n\t0 - screen\n\t1 - printer")},
       {const_cast<char*>("profiles"), T_INT, offsetof(PDFfile, profiles), 0, const_cast<char*>("Embed a color profile for solid colors. Bool value.")},
       {const_cast<char*>("profilei"), T_INT, offsetof(PDFfile, profilei), 0, const_cast<char*>("Embed a color profile for images. Bool value.")},
       {const_cast<char*>("intents"), T_INT, offsetof(PDFfile, intents), 0, const_cast<char*>("Rendering intent for solid colors\n\t0 - Perceptual\n\t1 - Relative Colorimetric\n\t2 - Saturation\n\t3 - Absolute Colorimetric")},
       {const_cast<char*>("intenti"), T_INT, offsetof(PDFfile, intenti), 0, const_cast<char*>("Rendering intent for images\n\t0 - Perceptual\n\t1 - Relative Colorimetric\n\t2 - Saturation\n\t3 - Absolute Colorimetric")},
       {const_cast<char*>("noembicc"), T_INT, offsetof(PDFfile, noembicc), 0, const_cast<char*>("Don't use embedded ICC profiles. Bool value")},
       {const_cast<char*>("bleedt"), T_DOUBLE, offsetof(PDFfile, bleedt), 0, const_cast<char*>("Bleed Top\n""Distance for bleed from the top of the physical page")},
       {const_cast<char*>("bleedl"), T_DOUBLE, offsetof(PDFfile, bleedl), 0, const_cast<char*>("Bleed Left\n""Distance for bleed from the left of the physical page")},
       {const_cast<char*>("bleedr"), T_DOUBLE, offsetof(PDFfile, bleedr), 0, const_cast<char*>("Bleed Right\n""Distance for bleed from the right of the physical page")},
       {const_cast<char*>("bleedb"), T_DOUBLE, offsetof(PDFfile, bleedb), 0, const_cast<char*>("Bleed Bottom\n""Distance for bleed from the bottom of the physical page")},
       {NULL, 0, 0, 0, NULL} 
}

Definition at line 511 of file objpdffile.cpp.

PyMethodDef PDFfile_methods[] [static]
Initial value:
 {
       {const_cast<char*>("save"), (PyCFunction)PDFfile_save, METH_NOARGS, const_cast<char*>("Save selected pages to pdf file")},
       {NULL, (PyCFunction)(0), 0, NULL} 
}

Definition at line 1158 of file objpdffile.cpp.

PyTypeObject PDFfile_Type

Definition at line 1163 of file objpdffile.cpp.