EN
Sign up

Template library

Education and student report card PDF templates

Organize grades, attendance, and comments in a report card with your school’s branding. Choose a layout and connect each student’s and term’s data.

01design available
06categories

1 template

Present every term

A clear report card for students and families

Adapt the document to your school’s subjects and grading system while retaining the context behind each result.

School, student, and term

Include the school name, student reference, class, and the reporting period covered by the document.

Subjects and grades

Configure a subject table with scores, maximums, or grades. Use the scales defined by your school.

Attendance and comments

Add attendance days and teacher observations. Test longer comments and different table sizes.

Issue date and branding

Review the date, logo, and responsible staff names. Include only the details that belong in the document.

From term results to report card

  1. Copy a design

    Save a template from this category into your project and adapt its heading to your school.

  2. Configure subjects and scales

    Bind results, attendance, and comments. Review representative examples before publishing.

  3. Publish and generate

    Generate a document per student from the app or send their data to the API with your published template.

Your data, your layout

Example data for a student report card

This fictional example includes three subjects, attendance, and a teacher’s comment. Adapt grades and field names to your school’s schema.

The report_card fields are illustrative: each design may use a different schema. Match the names to “Schema & default data” in your copy and replace template_id with your published template’s ID.

Download report-card-request.json Understand data field bindings
report-card-request.json
{
  "template_id": "YOUR_PUBLISHED_TEMPLATE_ID",
  "expiry_minutes": 60,
  "data": {
    "report_card": {
      "school_name": "Northstar Academy",
      "term": "Term 1, 2026",
      "issued_on": "2026-10-30",
      "student": {
        "name": "Jamie Taylor",
        "reference": "STU-1042",
        "class": "Grade 8A"
      },
      "subjects": [
        {
          "name": "Mathematics",
          "score": 87,
          "maximum_score": 100,
          "grade": "B"
        },
        {
          "name": "Science",
          "score": 92,
          "maximum_score": 100,
          "grade": "A"
        },
        {
          "name": "English",
          "score": 84,
          "maximum_score": 100,
          "grade": "B"
        }
      ],
      "attendance": {
        "days_present": 58,
        "days_possible": 60
      },
      "teacher_comment": "Shows steady progress and contributes thoughtfully in class.",
      "teacher_name": "Casey Lee"
    }
  }
}

From template to PDF

Generate a report card with the API

Save the file as report-card-request.json, replace the template ID, and adapt its data. Create an API token with documents:create and documents:read and access to that template. Run these commands from your terminal or server.

1. Submit the report card data

POST /v1/documents
export SHIPPDF_API_TOKEN='YOUR_API_TOKEN'

curl --fail-with-body https://api.shippdf.com/v1/documents \
  -H "Authorization: Bearer $SHIPPDF_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: report-card-STU-1042-term-1" \
  --data-binary @report-card-request.json

A successful request uses one generation credit and returns HTTP 202 with a queued document. Keep the token out of browser code. Reuse the idempotency key only when retrying the same request; use a new one for a different document.

Example response · HTTP 202{"id":"doc_example","status":"queued","pdf_url":null}

2. Check the document and open the PDF

GET /v1/documents/{document_id}
export SHIPPDF_DOCUMENT_ID='YOUR_RETURNED_DOCUMENT_ID'

curl --fail-with-body \
  "https://api.shippdf.com/v1/documents/$SHIPPDF_DOCUMENT_ID" \
  -H "Authorization: Bearer $SHIPPDF_API_TOKEN"

Use the actual ID from your response. If the status is queued or processing, wait before checking again. When it is completed, open the returned pdf_url. If it is failed, inspect failure before generating again.

Example response when complete{"id":"doc_example","status":"completed","expiry_minutes":60,"pdf_url":"https://…/document.pdf"}

The example sets expiry_minutes: 60 for one-hour download links. Read the same document again to get a fresh link without generating another PDF.

Education document questions

Can I adapt the grading scale?

Yes. Change fields, labels, and data to present your school’s scale. Do not treat the sample data as a grading policy.

Does the template calculate final grades?

The template presents results you send or supported calculations you configure. Keep assessment rules in your system or carefully review the design’s calculations.

Can I generate a report card per student?

Yes. Reuse the published design and send the data for each student and term. Check the recipient before sharing the PDF.

What data can I include?

You can configure names, classes, subjects, grades, attendance, and comments. The example uses fictional data; include only the information that belongs in your document.

Prepare your school’s documents

Choose your next report card design

Adapt a template to your school and test its data before publishing.

Back to education designs
← Explore all templates