Form8sn 1.5.0
See the version list below for details.
dotnet add package Form8sn --version 1.5.0
NuGet\Install-Package Form8sn -Version 1.5.0
<PackageReference Include="Form8sn" Version="1.5.0" />
paket add Form8sn --version 1.5.0
#r "nuget: Form8sn, 1.5.0"
// Install Form8sn as a Cake Addin #addin nuget:?package=Form8sn&version=1.5.0 // Install Form8sn as a Cake Tool #tool nuget:?package=Form8sn&version=1.5.0
Form8sn
Generate PDF based templates, and fill them in from data objects
The general plan:
- Someone with a form does a Print to PDF with all the spaces blank
- They get a data structure (schema) from another app or API
- Both the PDF and the data are loaded into the Form8sn UI, and they:
- Place boxes on the PDF page surfaces
- Add rules to partition the data and repeat PDF pages (plus running totals and the like)
- This is exported to a command file embedded in a modified version of the PDF
- A programmer can then pass the command file and data to the Form8sn SDK to get back a finished PDF
The PDF generation phase should be as fast as possible. If we can, it should be a streaming process so we don't need to load the whole PDF template or output into memory.
What is working now:
Inputs are JPEG images. Schema is implicit with a sample data file. Direct output of PDF is working, but the special file format is not present.
Components
- PDFSharp - A modified version of the main project (so I can add or specialise bits)
- PortableGdi - A minimal version of
System.Drawing
to support PDFSharp. Based on GNU Portable.Net base libraries. - BasicImageFormFiller - GUI app to take scanned paper forms (in JPEG) and fill them in from arbitrary data, based on examples.
- TestApp - Console app scratch space
- PdfSharp.Charting - Currently unused.
- Form8snCore - File formats and filtering to produce PDFs from project files
- WebFormFiller - .Net MVC website and JS app for editing Form8sn projects
To-do:
- Write some documentation
- Ensure the core PDFsharp and Form8snCore don't use GDI+ (important)
- Portable system.drawing
- JPEG reading and writing (
Portable.Drawing.Imaging.ImageFormats.JpegReader.Load
) - Font reading & metrics (
PdfSharp.Drawing.XFontSource.GetOrCreateFromFile
) - Remove defunct platform specific calls in PDFsharp.
- Handle PDFs as input
- Decode PDF forms so we can use existing 'boxes'
- Embed Form8sn instructions in PDF files and handle those? (not important)
- Web-based form editor?
- Full suite of tests
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Changes to various parts. Now has 'stamp' images that can be stored outside of individual templates