Skip to content

MicrosoftCloudEssentials-LearningHub/SecureNoStore-IMG2PDF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Demo: Secure Image to PDF (No Store, No Login)

Atlanta, USA

GitHub brown9804

Last updated: 2026-03-25


Static demo app for GitHub Pages that lets users upload photos and convert them into black-and-white scan PDF documents entirely in the browser.

Note

This demo is designed so image processing and PDF creation happen in the browser runtime. GitHub Pages only serves the static assets; it does not receive uploaded image data from the app.

image
Detailed example (Click to expand) image

What it does

  • Accepts one or more local image files.
  • Lets users switch between original images and a black-and-white scan look.
  • Applies a black-and-white scan look with brightness, contrast, grain, and vignette controls when enabled.
  • Exports a multi-page PDF in the browser.
  • Keeps images on-device with no login and no server-side upload flow.

Important

The app is plain HTML, CSS, and JavaScript. There is no backend and no build step required, so it can be published directly from this repository using GitHub Pages.

Supported image formats

The app accepts standard browser-readable images such as JPG, JPEG, PNG, GIF, BMP, WebP, AVIF, and SVG. It also includes in-browser fallback conversion for:

  • HEIC and HEIF, converted locally to PNG before preview/export
  • TIFF and TIF, decoded locally to PNG before preview/export

Format support still depends on the browser runtime for some edge cases. The app will skip files it cannot decode and report that in the status area instead of failing the whole batch.

Files

  • index.html contains the app shell and CDN script include for jsPDF.
  • styles.css contains the layout and visual design.
  • app.js handles image loading, scan effects, page reordering, and PDF export.

Local preview

  • Open index.html in a browser, or serve the repository with any static file server. Example with Python:

    python3 -m http.server 8080
  • Then open http://localhost:8080.

Note

The repository also includes synthetic fixtures in test-fixtures/images covering PNG, JPG, JPEG, GIF, BMP, TIFF, TIF, AVIF, HEIC, HEIF, and SVG for local testing.

Publish to GitHub Pages

  1. Push this repository to GitHub.
  2. In the repository settings, open Pages.
  3. Set the source to GitHub Actions.
  4. Save, then wait for Pages to publish the site.
Total views

Refresh Date: 2026-02-25