Form8sn 1.5.8
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
.NET Framework 4.5
This package targets .NET Framework 4.5. The package is compatible with this framework or higher.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Form8sn --version 1.5.8
NuGet\Install-Package Form8sn -Version 1.5.8
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Form8sn" Version="1.5.8" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Form8sn --version 1.5.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Form8sn, 1.5.8"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Form8sn as a Cake Addin #addin nuget:?package=Form8sn&version=1.5.8 // Install Form8sn as a Cake Tool #tool nuget:?package=Form8sn&version=1.5.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
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.
Improve error message when requested fonts are not available