Government domestic OS print rollout (anonymized)

An anonymized summary of a provincial agency rolling out HTML silent print on Kylin & UOS alongside legacy Lodop. For procurement, engineering leads, and ops—covering architecture, milestones, metrics, and evaluation criteria.

What decision-makers care about

RoleConcernHow this approach helps
ProcurementDomestic OS fit, cost, Lodop coexistencedeb clients; per-PC licensing; parallel routing with rollback
Engineering leadOne front-end API across OS typesnpm web-print-pdf; print entry points only
Security / opsData residency, audit, printer bindingLocal PDF render; loopback WebSocket; named printers

Background

Intranet OA and reports on domestic browsers/Linux desks—roughly 800–1,200 A4 jobs/day. window.print forced dialogs and wrong-printer incidents; ~35% of forms still needed Lodop overlays. No unified client on domestic desktops before rollout.

Key challenges

  • Mixed Windows HQ + Kylin/UOS branches—one print codebase
  • Lodop overlays cannot be dropped overnight
  • No cloud upload of business HTML; policy blocks browser bypass tricks
  • Unified formatPrintError and getConnectStatus for support
  • Quarterly pilot deadline before wider rollout

Architecture

Vue OA calls printHtml → local Web Print Expert client (deb/exe) over WebSocket → PDF → silent OS print queue. Server does not run the client.

Lodop parallel: route by document type—HTML reports via web-print-pdf, legacy overlays stay on Lodop until migrated.

Solution

  1. Week 1: 10 Kylin PCs, deb client install
  2. Weeks 2–3: Vue buttons → printHtml; shared error UX
  3. Week 4: Routing table HTML vs Lodop; autostart policy
  4. Month 2: 30 Windows PCs same npm version
  5. Month 3: Prioritize next Lodop forms for HTML

Stack & deployment

  • Vue 3 + web-print-pdf
  • Kylin/UOS deb + Windows exe
  • Kylin guide

Implementation timeline

PhaseDurationDeliverable
PoC3–5 days1 Kylin PC + 1 report silent
Pilot4 weeks10 desks, routing, runbook
Rollout8 weeksUnified npm across OS

Measured outcomes (pilot)

MetricBeforeAfter pilot
Steps per report~15s with dialog<3s one-click
Wrong-printer tickets/mo~120–1 in pilot units
Front-end print branchesWin vs domesticSingle npm API

Anonymized pilot figures—not a guaranteed outcome.

Outcomes

Removed browser dialogs on pilot desks; parallel Lodop rollback path retained.

Procurement checklist

  • License per desktop with client installed
  • Confirm OS/arch on download page
  • Contract appendix: Lodop scope + HTML roadmap
  • Acceptance: getConnectStatus + silent named printer + layout match

Risks & rollback

  • Lodop overlay parity → keep parallel path
  • AV blocks WebSocket → allow exe + loopback
  • Client not started → autostart + clear errors
  • Rollback: flip routing; uninstall client—no server lock-in

Read next

FAQ

Real customer?

Anonymized scenario—not identifiable.

Kylin only?

Possible; mixed fleets are common.

When drop Lodop?

Phased HTML rollout by document inventory.

Rewrite entire OA?

Only print entry points that need silent/named output.

PoC timeline?

One Kylin PC + demo HTML—about 1–2 days.

Client deployment by platform

The same web-print-pdf front-end runs on Windows, macOS, and Linux/domestic OS—install the matching client on each desktop.

Download client — free trial View npm package Documentation