After the recent incident, we have restored access to the website from outside the CERN network, however access from certain worldwide locations is still being blocked.

CERN Accelerating science

Stamping fulltextes

The WebSubmit File Stamper library (websubmit_file_stamper.py) let you stamps your PDFs.

Python API

def stamp_file(options):
    """The driver for the stamping process. This is effectively the function
       that is responsible for coordinating the stamping of a file.
       @param options: (dictionary) - a dictionary of options that are required
        by the function in order to carry out the stamping process.

        The dictionary must have the following structure:
           + latex-template: (string) - the path to the LaTeX template to be
              used for the creation of the stamp itself;
           + latex-template-var: (dictionary) - This dictionary contains
              variables that should be sought in the LaTeX template file, and
              the values that should be substituted in their place. E.g.:
                    { "TITLE" : "An Introduction to Invenio" }
           + input-file: (string) - the path to the input file (i.e. that
              which is to be stamped;
           + output-file: (string) - the name of the stamped file that should
              be created by the program. This is optional - if not provided,
              a default name will be applied to a file instead;
           + stamp: (string) - the type of stamp that is to be applied to the
              input file. It must take one of 3 values:
                    - "first": Stamp only the first page of the document;
                    - "all": Apply the stamp to all pages of the document;
                    - "coverpage": Add a "cover page" to the document;
           + layer: (string) - the position of the stamp in the layers of the
              file. Is one of the following values:
                    - "background": stamp applied to the background layer;
                    - "foreground": stamp applied to the foreground layer;
           + verbosity: (integer) - the verbosity level under which the program
              is to run;
           + skip-metadata: (boolean) - whether to skip copying the metadata
              or not;
        So, an example of the returned dictionary would be something like:
              { 'latex-template'      : "demo-stamp-left.tex",
                'latex-template-var'  : { "REPORTNUMBER" : "TEST-2008-001",
                                          "DATE"         : "15/02/2008",
                                        },
                'input-file'          : "test-doc.pdf",
                'output-file'         : "",
                'stamp'               : "first",
                'layer'               : "background",
                'verbosity'           : 0,
                'skip-metadata'       : False,
              }

       @return: (tuple) - consisting of two strings:
          1. the path to the working directory in which all stamping-related
              files are stored;
          2. The name of the "stamped" file;
       @Exceptions raised: (InvenioWebSubmitFileStamperError) exceptions may
        be raised or propagated by this function when the stamping process
        fails for one reason or another.
    """

See websubmit_file_stamper API for a complete API description.