mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2025-06-05 21:59:17 +02:00
Document creation
This commit is contained in:
@ -144,56 +144,85 @@ private:
|
||||
class PDFDocumentBuilder
|
||||
{
|
||||
public:
|
||||
/// Creates a new blank document (with no pages)
|
||||
explicit PDFDocumentBuilder();
|
||||
|
||||
///
|
||||
explicit PDFDocumentBuilder(const PDFDocument* document);
|
||||
|
||||
PDFDocument build() const;
|
||||
/// Resets the object to the initial state.
|
||||
/// \warning All data are lost
|
||||
void reset();
|
||||
|
||||
/* START GENERATED CODE */
|
||||
|
||||
/// Square annotation displays rectangle (or square). When opened, they display pop-up window
|
||||
/// containing the text of associated note (and window title). Square border/fill color can be defined,
|
||||
/// along with border width.
|
||||
/// \param page Page to which is annotation added
|
||||
/// \param rectangle Area in which is rectangle displayed
|
||||
/// \param borderWidth Width of the border line of rectangle
|
||||
/// \param fillColor Fill color of rectangle (interior color). If you do not want to have area color filled,
|
||||
/// then use invalid QColor.
|
||||
/// \param strokeColor Stroke color (color of the rectangle border). If you do not want to have a
|
||||
/// border, then use invalid QColor.
|
||||
/// \param title Title (it is displayed as title of popup window)
|
||||
/// \param subject Subject (short description of the subject being adressed by the annotation)
|
||||
/// \param contents Contents (text displayed, for example, in the marked annotation dialog)
|
||||
PDFObjectReference createAnnotationSquare(PDFObjectReference page,
|
||||
QRectF rectangle,
|
||||
PDFReal borderWidth,
|
||||
QColor fillColor,
|
||||
QColor strokeColor,
|
||||
QString title,
|
||||
QString subject,
|
||||
QString contents);
|
||||
|
||||
|
||||
/// Creates a new popup annotation on the page. Popup annotation is represented usually by floating
|
||||
/// window, which can be opened, or closed. Popup annotation is associated with parent annotation,
|
||||
/// which can be usually markup annotation. Popup annotation displays parent annotation's texts, for
|
||||
/// example, title, comment, date etc.
|
||||
/// \param page Page to which is annotation added
|
||||
/// \param parentAnnotation Parent annotation (for which is popup window displayed)
|
||||
/// \param rectangle Area on the page, where popup window appears
|
||||
/// \param opened Is the window opened?
|
||||
PDFObjectReference createAnnotationPopup(PDFObjectReference page,
|
||||
PDFObjectReference parentAnnotation,
|
||||
QRectF rectangle,
|
||||
bool opened);
|
||||
/// Create a new blank document with no pages. If some document
|
||||
/// is edited at call of this function, then it is lost.
|
||||
void createDocument();
|
||||
|
||||
PDFDocument build();
|
||||
|
||||
/* START GENERATED CODE */
|
||||
|
||||
/// Square annotation displays rectangle (or square). When opened, they display pop-up window
|
||||
/// containing the text of associated note (and window title). Square border/fill color can be defined,
|
||||
/// along with border width.
|
||||
/// \param page Page to which is annotation added
|
||||
/// \param rectangle Area in which is rectangle displayed
|
||||
/// \param borderWidth Width of the border line of rectangle
|
||||
/// \param fillColor Fill color of rectangle (interior color). If you do not want to have area color filled,
|
||||
/// then use invalid QColor.
|
||||
/// \param strokeColor Stroke color (color of the rectangle border). If you do not want to have a
|
||||
/// border, then use invalid QColor.
|
||||
/// \param title Title (it is displayed as title of popup window)
|
||||
/// \param subject Subject (short description of the subject being adressed by the annotation)
|
||||
/// \param contents Contents (text displayed, for example, in the marked annotation dialog)
|
||||
PDFObjectReference createAnnotationSquare(PDFObjectReference page,
|
||||
QRectF rectangle,
|
||||
PDFReal borderWidth,
|
||||
QColor fillColor,
|
||||
QColor strokeColor,
|
||||
QString title,
|
||||
QString subject,
|
||||
QString contents);
|
||||
|
||||
|
||||
/// Creates a new popup annotation on the page. Popup annotation is represented usually by floating
|
||||
/// window, which can be opened, or closed. Popup annotation is associated with parent annotation,
|
||||
/// which can be usually markup annotation. Popup annotation displays parent annotation's texts, for
|
||||
/// example, title, comment, date etc.
|
||||
/// \param page Page to which is annotation added
|
||||
/// \param parentAnnotation Parent annotation (for which is popup window displayed)
|
||||
/// \param rectangle Area on the page, where popup window appears
|
||||
/// \param opened Is the window opened?
|
||||
PDFObjectReference createAnnotationPopup(PDFObjectReference page,
|
||||
PDFObjectReference parentAnnotation,
|
||||
QRectF rectangle,
|
||||
bool opened);
|
||||
|
||||
|
||||
/// Creates empty catalog. This function is used, when a new document is being created. Do not call
|
||||
/// this function manually.
|
||||
PDFObjectReference createCatalog();
|
||||
|
||||
|
||||
/// This function is used to create a new trailer dictionary, when blank document is created. Do not
|
||||
/// call this function manually.
|
||||
/// \param catalog Reference to document catalog
|
||||
PDFObject createTrailerDictionary(PDFObjectReference catalog);
|
||||
|
||||
|
||||
/// This function is used to update trailer dictionary. Must be called each time the final document is
|
||||
/// being built.
|
||||
/// \param objectCount Number of objects (including empty ones)
|
||||
void updateTrailerDictionary(PDFInteger objectCount);
|
||||
|
||||
|
||||
/* END GENERATED CODE */
|
||||
|
||||
private:
|
||||
PDFObjectReference addObject(PDFObject object);
|
||||
void mergeTo(PDFObjectReference reference, PDFObject object);
|
||||
QRectF getPopupWindowRect(const QRectF& rectangle) const;
|
||||
QString getProducerString() const;
|
||||
|
||||
PDFObjectStorage m_storage;
|
||||
PDFVersion m_version;
|
||||
|
Reference in New Issue
Block a user