android-pdf-export
Platform Notes
- Optional helper plugins may help in some environments, but they must not be treated as required for this skill.
Android PDF Export (Native PdfDocument)
Acknowledgement: Shared by Peter Bamuhigire, techguypeter.com, +256 784 464178.
Use When
- Native Android PDF export system using PdfDocument API (zero dependencies). Reusable Canvas-based generator with branded letterheads, data tables, summary cards, and share-via-Intent. Use when adding PDF export to any Android app screen —...
- The task needs reusable judgment, domain constraints, or a proven workflow rather than ad hoc advice.
Do Not Use When
- The task is unrelated to
android-pdf-exportor would be better handled by a more specific companion skill. - The request only needs a trivial answer and none of this skill's constraints or references materially help.
Required Inputs
- Gather relevant project context, constraints, and the concrete problem to solve; load
referencesonly as needed. - Confirm the desired deliverable: design, code, review, migration plan, audit, or documentation.
Workflow
- Read this
SKILL.mdfirst, then load only the referenced deep-dive files that are necessary for the task. - Apply the ordered guidance, checklists, and decision rules in this skill instead of cherry-picking isolated snippets.
- Produce the deliverable with assumptions, risks, and follow-up work made explicit when they matter.
Quality Standards
- Keep outputs execution-oriented, concise, and aligned with the repository's baseline engineering standards.
- Preserve compatibility with existing project conventions unless the skill explicitly requires a stronger standard.
- Prefer deterministic, reviewable steps over vague advice or tool-specific magic.
Anti-Patterns
- Treating examples as copy-paste truth without checking fit, constraints, or failure modes.
- Loading every reference file by default instead of using progressive disclosure.
Outputs
- A concrete result that fits the task: implementation guidance, review findings, architecture decisions, templates, or generated artifacts.
- Clear assumptions, tradeoffs, or unresolved gaps when the task cannot be completed from available context alone.
- References used, companion skills, or follow-up actions when they materially improve execution.
Evidence Produced
| Category | Artifact | Format | Example |
|---|---|---|---|
| Correctness | PDF export test plan | Markdown doc covering page layout, paginated content, fonts, and image rendering | docs/android/pdf-export-tests.md |
References
- Use the
references/directory for deep detail after reading the core workflow below.
Generate professional branded PDF documents from any Android screen using the built-in android.graphics.pdf.PdfDocument API. Zero external dependencies — pure Canvas drawing. Supports A4 portrait/landscape, multi-page pagination, letterheads, tables, summary cards, info sections, status badges, and charts.
Overview
Library choice: Native android.graphics.pdf.PdfDocument (0 KB added to APK). Alternatives like iText (AGPL license), PDFBox-Android (stale since 2023), and OpenPDF (requires java.awt hack) were rejected.
Architecture: A core DmsPdfGenerator object provides reusable drawing primitives. Per-module exporters (Sales, Inventory, Network) compose these primitives for each screen. PdfExportHelper handles file I/O and sharing via FileProvider.
core/pdf/
DmsPdfGenerator.kt — Reusable drawing primitives (letterhead, tables, cards, footer)
PdfExportHelper.kt — Save to cache + share via FileProvider Intent
core/ui/components/
PdfExportButton.kt — Reusable TopAppBar button (icon + "PDF" label)
Per-module exporters (one object per feature module):
SalesReportPdfExporter.kt — Sales reports + invoice list
InventoryPdfExporter.kt — Stock levels, PO/transfer/adjustment details + lists
NetworkPdfExporter.kt — Distributor list/detail, genealogy
Additional Guidance
Extended guidance for android-pdf-export was moved to references/skill-deep-dive.md to keep this entrypoint compact and fast to load.
Use that deep dive for:
DependenciesStep 1: FileProvider SetupStep 2: PdfExportHelperStep 3: Core PDF GeneratorStep 4: Per-Module ExportersStep 5: PdfExportButton ComponentStep 6: Screen IntegrationStep 7: String ResourcesStep 8: Franchise Info for LetterheadsPDF Design Specification
More from peterbamuhigire/skills-web-dev
google-play-store-review
Google Play Store compliance and review readiness for Android apps. Use
76multi-tenant-saas-architecture
Use when designing or reviewing a multi-tenant SaaS platform — tenant
62jetpack-compose-ui
Jetpack Compose UI standards for beautiful, sleek, minimalistic Android
49gis-mapping
Use for web apps that need Leaflet-first GIS mapping, location selection,
48saas-accounting-system
Implement a complete double-entry accounting system inside any SaaS app.
47manual-guide
Generate end-user manuals and reference guides for ERP modules. Use when
38