pdf_templates library
Ready report templates on top of pdf_widgets.
Import this library on its own. Do not mix it with Flutter's Text or
TextDirection in the same prefix. In a Flutter file:
import 'package:quds_office_engine/pdf_templates.dart' as tpl;
final bytes = tpl.InvoiceTemplate(
direction: tpl.TextDirection.rtl,
labels: const tpl.TradeLabels(document: 'فاتورة', from: 'من', to: 'إلى'),
seller: const tpl.TemplateParty(name: 'الورشة'),
buyer: const tpl.TemplateParty(name: 'الحيّ'),
totals: const tpl.MoneyTotals(subtotal: '100', total: '100'),
).save();
Every heading is a field on a labels class. TemplateCatalog is the index. TemplateTheme.copyWith changes color without copying the layout. TextDirection flips parties, tables, totals, and the footer.
To grow a template, reuse templateBand, templateTable, and TemplateDocument.save.
Classes
- ActionItem
- An action with an owner and a due string.
- AdmissionLetterTemplate
- Admission letter.
- AfterActionTemplate
- After-action review.
- AgedPayablesTemplate
- Aged payables.
- AgedReceivablesTemplate
- Aged receivables.
- AgendaItem
- One agenda slot.
- AgendaLabels
- Agenda labels.
- AgendaTemplate
- Timed agenda.
- AnnouncementTemplate
- Announcement.
- AppointmentLetterTemplate
- Appointment letter.
- AssetRegisterTemplate
- Asset register.
- AssignmentBriefTemplate
- Assignment brief.
- AttendanceSheetTemplate
- Attendance sheet.
- AuditFindingsTemplate
- Audit findings.
- BalanceSnapshotTemplate
- Balance snapshot.
- BankReconciliationTemplate
- Bank reconciliation.
- BeneficiaryListTemplate
- Beneficiary list.
- BillOfLadingTemplate
- Bill of lading.
- BriefingLabels
- Briefing labels.
- BriefingTemplate
- Status briefing: summary, optional metrics, optional chart, next steps.
- BriefMetric
- One metric on a briefing.
- BudgetActualTemplate
- Budget versus actual.
- CapacityReportTemplate
- Capacity report.
- CashFlowTemplate
- Cash flow.
- CertificateLabels
- Certificate labels.
- CertificateTemplate
- Landscape certificate. Body is one paragraph the caller writes.
- ChangeRequestTemplate
- Change request.
- ChartPoint
- Class ChartPoint.
- CheckGroup
- A named group of checks.
- CheckItem
- One row in a checklist or inspection.
- ChecklistLabels
- Checklist labels. marks maps each CheckMark to the printed word.
- ChecklistTemplate
- Grouped checklist.
- ClassRegisterTemplate
- Class register.
- CommissionNoteTemplate
- Commission note.
- ComparisonTemplate
- Comparison.
- ConsignmentNoteTemplate
- Consignment note.
- CreditNoteTemplate
- Credit note.
- DailySiteReportTemplate
- Daily site report.
- DebitNoteTemplate
- Debit note.
- Decision
- A decision recorded in minutes.
- DecisionNoteTemplate
- Decision note.
- DeliveryManifestTemplate
- Delivery manifest.
- DeliveryNoteTemplate
-
Delivery note.
detailis the second quantity (shipped). - DonationReceiptTemplate
- Donation receipt.
- EmployeeProfileTemplate
- Employee profile.
- ExceptionReportTemplate
- Exception report.
- ExecutiveSummaryTemplate
- Executive summary.
- ExpenseLabels
- Labels for an expense claim.
- ExpenseLine
- One expense row.
- ExpenseTemplate
- Expense claim.
- ExperienceLetterTemplate
- Experience letter.
- FeeReceiptTemplate
- Fee receipt.
- FieldDistributionTemplate
- Distribution sheet.
- FreightQuoteTemplate
- Freight quote.
- GoodsIssueTemplate
- Goods issue.
- GoodsReceivedTemplate
- Goods received.
- GrantReportTemplate
- Grant report.
- HandoverNoteTemplate
- Handover.
- ImpactSheetTemplate
- Impact sheet.
- IncidentReportTemplate
- Incident report.
- InspectionLabels
- Inspection labels. Counts are computed from CheckItem.mark.
- InspectionTemplate
- Field inspection. Pass, fail, and open counts are derived from items.
- InternshipCertificateTemplate
- Internship certificate.
- InventoryCountTemplate
- Inventory count.
- InvoiceTemplate
- Commercial invoice.
- IssueLogTemplate
- Issue log.
- JournalTemplate
- Journal.
- KpiLabels
- KPI sheet labels.
- KpiMetric
- One KPI. delta is an already formatted change, or empty.
- KpiSheetTemplate
- Metric cards plus an optional chart.
- LeaderboardTemplate
- Leaderboard.
- LeaseSummaryTemplate
- Lease summary.
- LeaveRequestTemplate
- Leave request.
- LetterLabels
- Letter labels. Body text lives on the template, not here.
- LetterTemplate
- Formal letter. Paragraphs are caller text in either language.
- ListingLabels
- Record listing labels.
- ListingTemplate
- A filtered table. columns is the logical order; RTL flips it.
- LoadSheetTemplate
- Load sheet.
- LoanScheduleTemplate
- Loan schedule.
- MaintenanceLogTemplate
- Maintenance log.
- MaintenanceRequestTemplate
- Maintenance request.
- MeetingNoticeTemplate
- Meeting notice.
- MemoLabels
- Memo labels.
- MemoTemplate
- Internal memo. Sections are heading plus body, in the caller's language.
- MilestoneTrackerTemplate
- Milestone tracker.
- MinutesLabels
- Minutes labels.
- MinutesTemplate
- Meeting minutes.
- MoneyTotals
- A heading that is already formatted. The template does not parse money.
- MoveInChecklistTemplate
- Move-in checklist.
- NewsletterTemplate
- Newsletter.
- OfferLetterTemplate
- Offer letter.
- PackingListTemplate
- Packing list.
- PayLine
- One payslip amount, already formatted.
- PaymentVoucherTemplate
- Payment voucher.
- PayrollSummaryTemplate
- Payroll summary.
- PayslipLabels
- Payslip labels.
- PayslipTemplate
- Payslip: earnings, deductions, net.
- PdfPageFormat
- Page size in typographic points.
- PettyCashTemplate
- Petty cash.
- PickListTemplate
- Pick list.
- PolicyNoteTemplate
- Policy note.
- PressReleaseTemplate
- Press release.
- PriceListTemplate
- Price list.
- ProfitAndLossTemplate
- Profit and loss.
- ProformaTemplate
- Proforma invoice.
- ProgramBriefTemplate
- Program brief.
- ProgressReportTemplate
- Progress report.
- ProjectStatusTemplate
- Project status.
- PropertyListingTemplate
- Property listing.
- ProposalTemplate
- Proposal.
- PurchaseOrderTemplate
- Purchase order.
- QuoteTemplate
- Quote or estimate. validUntil uses the extra label.
- ReceiptTemplate
- Receipt. method uses the extra label.
- ReceiptVoucherTemplate
- Receipt voucher.
- RecommendationLetterTemplate
- Recommendation.
- ReferenceLetterTemplate
- Reference letter.
- RelievingLetterTemplate
- Relieving letter.
- RentReceiptTemplate
- Rent receipt.
- ReportCardTemplate
- Report card.
- ReturnAuthorizationTemplate
- Return authorization.
- RiskRegisterTemplate
- Risk register.
- SafetyBriefingTemplate
- Safety briefing.
- SalesOrderTemplate
- Sales order.
- ScorecardTemplate
- Scorecard.
- ServiceEstimateTemplate
- Service estimate.
- ServiceTicketTemplate
- Service ticket.
- SfntFont
- Parsed TrueType / OpenType SFNT font.
- SheetLabels
- Headings for a SheetTemplate. Replace every string for another language.
- SheetRow
- One table row. Cells follow SheetLabels.columns.
- SheetTemplate
- A customizable sheet. Named suite classes wrap this with domain defaults.
- ShiftRosterTemplate
- Shift roster.
- ShippingNoticeTemplate
- Shipping notice.
- SignSlot
- One signature slot. Empty name leaves a line to sign on paper.
- StatementLabels
- Column labels for a statement.
- StatementLine
- One movement on a statement. Amounts are already formatted.
- StatementTemplate
- Account statement.
- SuiteSheet
-
A named suite template. save writes one document in
direction. - SurveyResultsTemplate
- Survey results.
- SyllabusTemplate
- Syllabus.
- TaxSummaryTemplate
- Tax summary.
- TemplateCatalog
- The template index. Construct the class named on each TemplateRef.
- TemplateDocument
-
Writes a multi-page document in
direction. - TemplateParty
- A named party: seller, buyer, employee, clinic.
- TemplateRef
- One entry in TemplateCatalog. className is the type to construct.
- TemplateSection
- Heading plus body. Used by memos and briefings.
- TemplateSuite
- Builds a suite template by catalog id. Labels default to English.
- TemplateTheme
- Colors and page size. Pass a different accent per domain or brand.
- TemplateThemes
- Default palettes. Override any field with TemplateTheme.copyWith.
- TenantStatementTemplate
- Tenant statement.
- TimesheetTemplate
- Timesheet.
- TradeLabels
- Column headings for a trade table. Replace every string for another language.
- TradeLine
- One trade line. Quantity, unit, and amount are already formatted.
- TranscriptTemplate
- Transcript.
- VisitorLogTemplate
- Visitor log.
- VolunteerHoursTemplate
- Volunteer hours.
- WarehouseTransferTemplate
- Warehouse transfer.
- WarningNoticeTemplate
- Warning notice.
- WaybillTemplate
- Waybill.
- WelcomeNoteTemplate
- Welcome note.
- WorkPermitTemplate
- Work permit.
- WorkshopRegisterTemplate
- Workshop register.
Enums
- CheckMark
- Check state for lists and inspections.
- PageOrientation
- Page rotation hint.
- SheetKind
- Which blocks a SheetTemplate paints.
- SheetSkin
- How the page is composed. Text does not pick this; the document type does.
- TemplateCategory
- Domain a template belongs to.
- TextDirection
- Reading direction.
Constants
- admissionLetterTemplateLabels → const SheetLabels
- afterActionTemplateLabels → const SheetLabels
- agedPayablesTemplateLabels → const SheetLabels
- agedReceivablesTemplateLabels → const SheetLabels
- announcementTemplateLabels → const SheetLabels
- appointmentLetterTemplateLabels → const SheetLabels
- assetRegisterTemplateLabels → const SheetLabels
- assignmentBriefTemplateLabels → const SheetLabels
- attendanceSheetTemplateLabels → const SheetLabels
- auditFindingsTemplateLabels → const SheetLabels
- balanceSnapshotTemplateLabels → const SheetLabels
- bankReconciliationTemplateLabels → const SheetLabels
- beneficiaryListTemplateLabels → const SheetLabels
- billOfLadingTemplateLabels → const SheetLabels
- budgetActualTemplateLabels → const SheetLabels
- capacityReportTemplateLabels → const SheetLabels
- cashFlowTemplateLabels → const SheetLabels
- changeRequestTemplateLabels → const SheetLabels
- classRegisterTemplateLabels → const SheetLabels
- commissionNoteTemplateLabels → const SheetLabels
- comparisonTemplateLabels → const SheetLabels
- consignmentNoteTemplateLabels → const SheetLabels
- creditNoteTemplateLabels → const SheetLabels
- dailySiteReportTemplateLabels → const SheetLabels
- debitNoteTemplateLabels → const SheetLabels
- decisionNoteTemplateLabels → const SheetLabels
- deliveryManifestTemplateLabels → const SheetLabels
- donationReceiptTemplateLabels → const SheetLabels
- employeeProfileTemplateLabels → const SheetLabels
- exceptionReportTemplateLabels → const SheetLabels
- executiveSummaryTemplateLabels → const SheetLabels
- experienceLetterTemplateLabels → const SheetLabels
- feeReceiptTemplateLabels → const SheetLabels
- fieldDistributionTemplateLabels → const SheetLabels
- freightQuoteTemplateLabels → const SheetLabels
- goodsIssueTemplateLabels → const SheetLabels
- goodsReceivedTemplateLabels → const SheetLabels
- grantReportTemplateLabels → const SheetLabels
- handoverNoteTemplateLabels → const SheetLabels
- impactSheetTemplateLabels → const SheetLabels
- incidentReportTemplateLabels → const SheetLabels
- internshipCertificateTemplateLabels → const SheetLabels
- inventoryCountTemplateLabels → const SheetLabels
- issueLogTemplateLabels → const SheetLabels
- journalTemplateLabels → const SheetLabels
- leaderboardTemplateLabels → const SheetLabels
- leaseSummaryTemplateLabels → const SheetLabels
- leaveRequestTemplateLabels → const SheetLabels
- loadSheetTemplateLabels → const SheetLabels
- loanScheduleTemplateLabels → const SheetLabels
- maintenanceLogTemplateLabels → const SheetLabels
- maintenanceRequestTemplateLabels → const SheetLabels
- meetingNoticeTemplateLabels → const SheetLabels
- milestoneTrackerTemplateLabels → const SheetLabels
- moveInChecklistTemplateLabels → const SheetLabels
- offerLetterTemplateLabels → const SheetLabels
- packingListTemplateLabels → const SheetLabels
- paymentVoucherTemplateLabels → const SheetLabels
- payrollSummaryTemplateLabels → const SheetLabels
- pettyCashTemplateLabels → const SheetLabels
- pickListTemplateLabels → const SheetLabels
- policyNoteTemplateLabels → const SheetLabels
- pressReleaseTemplateLabels → const SheetLabels
- priceListTemplateLabels → const SheetLabels
- profitAndLossTemplateLabels → const SheetLabels
- proformaTemplateLabels → const SheetLabels
- programBriefTemplateLabels → const SheetLabels
- progressReportTemplateLabels → const SheetLabels
- projectStatusTemplateLabels → const SheetLabels
- propertyListingTemplateLabels → const SheetLabels
- proposalTemplateLabels → const SheetLabels
- purchaseOrderTemplateLabels → const SheetLabels
- receiptVoucherTemplateLabels → const SheetLabels
- recommendationLetterTemplateLabels → const SheetLabels
- referenceLetterTemplateLabels → const SheetLabels
- relievingLetterTemplateLabels → const SheetLabels
- rentReceiptTemplateLabels → const SheetLabels
- reportCardTemplateLabels → const SheetLabels
- returnAuthorizationTemplateLabels → const SheetLabels
- riskRegisterTemplateLabels → const SheetLabels
- safetyBriefingTemplateLabels → const SheetLabels
- salesOrderTemplateLabels → const SheetLabels
- scorecardTemplateLabels → const SheetLabels
- serviceEstimateTemplateLabels → const SheetLabels
- serviceTicketTemplateLabels → const SheetLabels
- shiftRosterTemplateLabels → const SheetLabels
- shippingNoticeTemplateLabels → const SheetLabels
-
suiteRefs
→ const List<
TemplateRef> - Extra papers beyond the core seventeen.
- surveyResultsTemplateLabels → const SheetLabels
- syllabusTemplateLabels → const SheetLabels
- taxSummaryTemplateLabels → const SheetLabels
- tenantStatementTemplateLabels → const SheetLabels
- timesheetTemplateLabels → const SheetLabels
- transcriptTemplateLabels → const SheetLabels
- visitorLogTemplateLabels → const SheetLabels
- volunteerHoursTemplateLabels → const SheetLabels
- warehouseTransferTemplateLabels → const SheetLabels
- warningNoticeTemplateLabels → const SheetLabels
- waybillTemplateLabels → const SheetLabels
- welcomeNoteTemplateLabels → const SheetLabels
- workPermitTemplateLabels → const SheetLabels
- workshopRegisterTemplateLabels → const SheetLabels
Functions
-
joinTemplateFiles(
List< Uint8List> files) → Uint8List - Concatenates already saved template files. Page size and fonts stay.
-
templateBand(
TemplateTheme theme, {required String kicker, required String title}) → Widget -
Accent band.
kickerandtitleare caller strings, not fixed English. -
templateFacts(
TemplateTheme theme, List< (String, String)> items) → Widget - Label/value pairs in two columns.
-
templateGap(
[double height = 12]) → Widget - Vertical gap used between blocks.
-
templateNotes(
TemplateTheme theme, {required String title, String? body}) → Widget -
Optional notes block. Empty
bodyreturns nothing. -
templateParagraphs(
TemplateTheme theme, List< String> paragraphs) → List<Widget> - Body paragraphs.
-
templateParties(
TemplateTheme theme, {required String startLabel, required TemplateParty start, required String endLabel, required TemplateParty end}) → Widget - Two parties. Order is start then end, and flips with direction.
-
templateSection(
TemplateTheme theme, String label) → Widget - Small section heading.
-
templateSigns(
TemplateTheme theme, List< SignSlot> slots) → Widget - Signature slots along the line. Empty names leave a rule.
-
templateTable(
TemplateTheme theme, {required List< String> headers, required List<List< rows}) → WidgetString> > - Logical column order. The table already reverses columns in RTL.
-
templateTotals(
TemplateTheme theme, {required List< (String, String)> rows, required String totalLabel, required String total}) → Widget - Totals pinned to the end edge.