Open main menu

Gramps β

Report API/he

Revision as of 19:02, 7 October 2024 by Avma (talk | contribs) (מקובל API: translation)
Gramps-notes.png
מנשק Simple Document API

הוא מנשק API שנועד לדוחות (מנשק תכנות יישומים ) כדי לשרת כותבי תוספים עבור גרמפס

מנשק API של מסמך פשוט מיועד להצגה קלה של הנתונים וניתן להשתמש בו עם מנשק API לגישה קלה.

Gramps-notes.png

תוכן מאמר זה לא שלם או שהוא 'בדל' שמשמש כמציין מיקום.
נא לעדכן או להרחיב את הקטע הזה.


קיימים בגרמפס חמישה סוגים שונים של דוחות:

  • דוח מילולי
  • דוח חזותי
  • תרשים
  • ספר דוחות
  • עמודי מרשתת

מתוך הסוגים שלעיל, רק דוחות מילוליים, דוחות חזותיים ותרשימים משתמשים ב־API דוחות (מסמך), מכיוון שדוחות מרשתת כותבים את הפלט ישירות לקבצים, בעוד שספר דוחות הוא פשוט שילוב של דוחות מילוליים ודוחות חזותיים שמקובצים יחדיו כספר דוחות.

API מקובל

לעת עתה שילוב רכיבים מילוליים וחזותיים בתוך מסמך אחד לא נתמך (לתוכניות עתידיות נא עיין בעיצוב מחדש של API דוחות), לכן דוחות מילוליים וחזותיים מיושמים באמצעות מנשקי API נפרדים, אם כי יש להם מרכיב משותף. מרכיב משותף זה מיושם באמצעות מחלקת BaseDoc, שמכיל בין היתר ראש וסיומת עמוד של מסמכים בסיסיים , ושיטות טיפול בגיליון סגנונות. המנשק מאחסן גם את התיאור הממשי של העמוד (גיליון נייר בדפוס).

Gramps-notes.png
הערה!

את שיטות BaseDoc.open ו-BaseDoc.close יש ליישם על ידי מחוללי מסמכים מחלקה משנית.

עמוד

Doc paper.png
תיאור הדף, עליו יתוצגכל דוח יועבר אליו, מאוחסן על ידי אדגם של gen/gen_plug.html#gen.plug.docgen.paperstyle.paperstyle Classyle. אדגם זה זמין דרך תכונת מחקלה basedoc.paper_style. סוג ה־PaperStyle שנבחר מועבר למחולל המסמכים בעת האתחול, ומטופל על ידי מסגרת פתוח הדוחות.

The PaperStyle holds information on the size of the paper (PaperSize class instance), the size of the margins, and the orientation of the paper. Use the proper accessor methods to get the values. To get the metrics of the usable area of a paper (page without the margins) one can also use the PaperStyle.get_usable_width and PaperStyle.get_usable_height convenience methods. Width and height are always given according to the orientation of the paper, thus width is always the horizontal, and height is always the vertical dimension.

Text reports do not need to care about paper properties, as the document generator (or the external viewer) paginates the report according to those properties. While, on the other hand, graphical reports do need to take paper properties into account when creating graphical elements, i.e. they should not draw on the margins.

The origin of the coordinate system is the top left corner of the usable area.


מסמך מילולי API

The specification of the Textdoc API is here

The interface for adding media objects is as follows:

 add_media_object(name, align, w_cm, h_cm, alt='', style_name=None, crop=None)[source]

    Add a photo of the specified width (in centimeters).
    Parameters:	

        name – filename of the image to add
        align – alignment of the image. Valid values are ‘left’, ‘right’, ‘center’, and ‘single’
        w_cm – width in centimeters
        h_cm – height in centimeters
        alt – an alternative text to use. Useful for eg html reports
        style_name – style to use for captions
        crop – image cropping parameters

Note that because of the structure of these documents, Images are only allowed as children (i.e. following) Document or Cell.

This interface is used in the following reports:

Report Built-in align style_name how called
Detailed Ancestral Report Built-in right DDR-Caption via gen/plug/report/utils.py
Detailed Descendant Report Built-in right DDR-Caption via gen/plug/report/utils.py
Individual Complete Report Built-in right None direct
Book (Title Page) Built-in center None direct
Person Everything Addon single PE-Level%d direct

None of the reports use 'alt'. It is understood (from looking at the code in odfdoc.py) that left and right alignment should cause the text to wrap around the media object, while for single alignment, there should be no text on either side of the media object.

Since style_name should be used as the style for the caption (i.e. the alt string) it should also be used for the image itself. Otherwise the caption would not be below the picture.

As at December 2014, output appears as follows:

Format right center single
HTML OK Picture on right, text wrapped round it ? Picture on left margin, text not wrapped
RTF Picture on left margin, text not wrapped ? OK Picture aligned with previous paragraph, text not wrapped
ODF OK Picture on right, text wrapped round it ? Picture centred, text not wrapped
PDF Picture on right, text not wrapped ? Picture on left margin, text not wrapped

מסמך תרשים API

Gramps-notes.png

This article's content is incomplete or a placeholder stub.
Please update or expand this section.


מסמך חזותי API

Gramps-notes.png

תוכן מאמר זה לא שלם או שהוא 'בדל' שמשמש כמציין מיקום.
נא לעדכן או להרחיב את הקטע הזה.