> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pdfdyno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Certificate (Landscape)

> A beautiful, landscape-oriented certificate of completion.

<Frame>
  <img src="https://mintcdn.com/pdf-dyno/pat72jpBFeHUuLAU/images/templates/certificate.png?fit=max&auto=format&n=pat72jpBFeHUuLAU&q=85&s=072eff96945de180ccf105bb5ecd3724" alt="Certificate Preview" width="735" height="567" data-path="images/templates/certificate.png" />
</Frame>

Certificates often require a landscape orientation and elegant fonts. Typst handles both effortlessly.

<CodeGroup>
  ```typst template.typ theme={null}

  // CHANGE BRAND COLOR HERE
  #let brand-color = rgb("#334155")

  // Landscape format (flipped: true)
  #set page(paper: "us-letter", flipped: true, margin: 2cm)
  #set text(font: "Times", size: 12pt)

  // Ornamental border
  #rect(width: 100%, height: 100%, stroke: 4pt + brand-color, inset: 1cm)[
    #align(center)[
      #v(2cm)
      
      // INSERT LOGO OR ICON HERE
      #text(size: 40pt, font: "Helvetica", weight: "bold", fill: brand-color)[CERTIFICATE] \
      #v(5pt)
      #text(size: 18pt, fill: luma(100), tracking: 2pt)[OF COMPLETION]
      
      #v(1.5cm)
      
      This is to certify that
      
      #v(0.5cm)
      
      #text(size: 32pt, weight: "bold", fill: rgb("#111827"))[#data.recipient_name]
      
      #v(0.5cm)
      
      has successfully completed the course
      
      #v(0.5cm)
      
      #text(size: 24pt, style: "italic")[#data.course_name]
      
      #v(2cm)
      
      // Signature area
      #grid(
        columns: (1fr, 1fr),
        align(center)[
          #line(length: 5cm)
          #v(5pt)
          *Date:* #data.issue_date
        ],
        align(center)[
          #line(length: 5cm)
          #v(5pt)
          *Instructor:* #data.instructor
        ]
      )
    ]
  ]
  ```

  ```json data.json theme={null}
  {
    "recipient_name": "Valentin",
    "course_name": "Advanced Serverless Architecture",
    "issue_date": "August 5, 2026",
    "instructor": "PDFDyno Academy"
  }
  ```

  ```bash cURL (Try It) theme={null}
  # 1. Save the Typst code from the tab above as 'template.typ'
  # 2. Save the JSON data from the tab above as 'data.json'

  # 3. Combine them and call the API (requires jq)
  jq -n \
    --arg t "$(cat template.typ)" \
    --argjson d "$(<data.json)" \
    '{ "data": $d, "template": $t }' > request.json

  curl -X POST https://api.pdfdyno.com/v1/pdf/generate \
    -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d @request.json \
    --output certificate.pdf
  ```
</CodeGroup>
