Skip to content

PowerShell Module to create, edit, split, merge PDF files on Windows / Linux and MacOS

License

Notifications You must be signed in to change notification settings

EvotecIT/PSWritePDF

Repository files navigation

PSWritePDF

PSWritePDF is by no means a finished product. Like with most of my modules, I build some concept that matches view on how I would like it to look, and in the next months, I will probably update its functionality to match my expectations. Since PSWritePDF is based on iText 7 it should be possible with some work to get all that functionality into PowerShell. That means that this module has excellent possibilities when it comes to potential use cases.

For now, I've divided the module functionality into two categories:

  • ☑ Standalone functions such as Split-PDF, Merge-PDF or Convert-PDFtoText
  • ☑ Bundled functions working like PSWriteHTML where they are not supposed to be used separately mainly to create PDF files (for now)

To find out more read following blog posts:

3rd Party Notices

This PowerShell Module uses iText 7 Community for .NET therefore the license needs to be kept the same as iText (or at least I think so). If it isn't so I would be more than happy to release my PowerShell code as MIT license. I don't intend to modify iText7 codebase, just using it's API. As I'm not an expert on licensing I'm attaching some of articles I found that may make this license terms clearer.

Recommended read:

Other software used:

All that additional software is required to work with iText and so it's part of this package.

Installing / Updating

Install-Module PSWritePDF -Force

Changelog

  • 0.0.17 - 2021.05.23

    • Set-PDFForm can now flatten forms with Flatten switch. Thank you markdem! in #23
    • ☑ Improved Set-PDFForm by removing Out-Null and replacing it with $null which is faster
    • ☑ Improved Set-PDFForm logic
  • 0.0.16 - 2021.05.06

    • ☑ Added basic support for check box style form fields - added by ChrisMagnuson in #20
  • 0.0.15 - 2021.03.17

    • ☑ Implemented Set-PDFForm and Get-PDFFormField - added by ChrisMagnuson in #19
  • 0.0.14 - 2021.03.11

    • ☑ Improved error handling
  • 0.0.13 - 2021.03.09

    • ☑ Improved error handling
  • 0.0.12 - 2021.03.09

    • ☑ Removed Exit in favor of return
  • 0.0.11 - 2021.03.09

    • ☑ Added Register-PDFFont that allows adding custom fonts (see examples for usage)
      • ☑ This also allows to use unicode chars (the built-in fonts don't seem to have unicode)
      • ☑ Usage: Register-PDFFont -FontName 'Verdana' -FontPath 'C:\Windows\fonts\verdana.ttf' -Encoding IDENTITY_H -Cached -Default
    • ☑ Improved New-PDFListItem allowing same options as New-PDFText
  • 0.0.10 - 2020.8.3

    • ☑ Fixed issue with New-PDFText - problem with Remove-EmptyValue
  • 0.0.9 - 2020.8.1

    • ☑ Fixed problem with Remove-EmptyValue
  • 0.0.8 - 2020.7.21

    • Fixes
      • ☑ Silly mistake for processing hasthables - tnx Greyland99 #7
    • Updates
      • ☑ Module (psm1/ps1/psd1) and all it's DLL's are now signed. Hopefully it won't break anything
  • 0.0.7 - 2020.05.02

    • Fixes
      • ☑ Fix for UNC paths #4 - tnx sporkabob
      • ☑ Fix for Split-PDF not closing source file
      • ☑ Fix for Convert-PDFToText not closing source file
  • 0.0.6 - 2020.01.14

    • Fixes
      • ☑ Added missing [CmdletBinding()]
      • ☑ Fixes New-PDF crash if no FilePath is given (#3)
  • 0.0.5 - 2019.12.28

    • Fixes
      • ☑ Margins support in multiple scenarios
    • Additional commands
      • ☑ Get-PDF
      • ☑ Get-PDFDetails
      • ☑ Close-PDF
    • Updated iText to 7.1.9
  • 0.0.4 - 2019.11.29

    • ☑ Convert-PDFToText - Fix for resolving paths properly
    • ☑ Split-PDF - fix for resolving paths properly
    • ☑ Merge-PDF - fix for resolving paths properly
  • 0.0.3 - 2019.11.29

    • Fix for loading module from PowerShellGallery