Code Monkey home page Code Monkey logo

tadelsucht / bulkpdf Goto Github PK

View Code? Open in Web Editor NEW
120.0 120.0 34.0 5.35 MB

BulkPDF is a free and easy to use open source software, which allows to automatically fill an existing PDF form with differen values. Only a spreadsheet (Microsoft Excel 2007/2010/2013, LibreOffice or OpenOffice Calc) with the desired values is required.

Home Page: http://bulkpdf.de

License: GNU Affero General Public License v3.0

C# 100.00%
acroform data excel fill form libreoffice microsoft openoffice openoffice-calc pdf spreadsheet xfa xml

bulkpdf's People

Contributors

djgosnell avatar radikale avatar tadelsucht avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

bulkpdf's Issues

Right hand zero lost

I have a spreadsheet which contains values for currency with 2 decimal places. When the right-hand digit is 0 it is lost when filled in. That is 2.30 becomes 2.3.

Silent uninstallation

Hi,

thanks to Julien for his work. May i am blind but i do not find the right argument for a silent uninstallation.

Silent install is working with /S but for uninstallation the "default" arguments do not work.

Checkbox can not be check with "Yes"

The problem is the check-value for these checkboxes is not "Yes" in this form. The creator of the pdf form has chosen an other value for an selected checkbox.

The accepted values for checkboxes should be "Yes", "On", "True" and "1" no matter what the creator has configured.

With this webtool you can see the exported value for checkboxes.
http://www.pdfescape.com

http://developers.itextpdf.com/question/how-check-check-box

http://developers.itextpdf.com/examples/form-examples/get-information-form#1099-checkboxvalues.java

New Feature Request

Hi,
It is a great PDF form producer, it has everything, the best.

It would be awesome, if each file can be password protected with 128-bit AES or 256-bit AES encryption by pulling password from the spreadsheet column.

Turkish characters

Hello,

When I try to fill pdf files with Turkish text some Turkish characters don't appear on the output.
And when I enable unicode setting, characters appear but the text font changes.

Am i doing something wrong or is there no way to use this software properly with Turkish characters at this moment?

Any help would be greatly appreciated. Thanks in advance.

and teşekkürler.

image
image

Allow automatic Pre-defined excel sheet input for PDF/XFA files

I love this program and am relatively new to coding!

The program currently requires the user to select the columns associated with the fields on the PDF/XFA forms.

If the excel spreadsheet provided has the form Field Names pre-populated in the column header, it would be a great opportunity to skip the user input and automatically assign the columns to their respective input field.

Update request

First of all thank you very much for this fabulous application

I would have a request to do so I would have more options to rename the files, currently I have the option to use the name I created + line name, I wanted to do the opposite.

How to fill in radio buttons, check boxes, etc. based on values in Excel?

How can I fill in radio buttons, check boxes, etc. based on values in Excel? I tried to do it based on "YES" or 0/1 values but it didn't work.

Also, some radio buttons actually have two buttons in one field (yes box and no box, etc.) and it seems like the BulkPDF software only picked up one of the individual radio buttons, and so even if it did work, it would only be able to turn on/off one of the two buttons.

Tick/cross inconsistency

When using BulkPDF, and using ‘Yes’ as the field, the check box gets crossed rather than ticked. And this behaviour remains even if unselecting and reselecting.

Possible Fix: PDF.cs -> pdfStamper.AcroFields.SetField(field.Name, value); -> pdfStamper.AcroFields.SetField(field.Name, value, true);

Draft version:

Another checkbox issue

It occurs in this form: https://www.irs.gov/pub/irs-prior/f8621--2016.pdf
In Line 4 there is a set of 4 checkboxes. I can connect an xlsx column to the first box (topmostSubform[0].Page1[0].c1_3[0]). It accepts values 0 and 1. That's fine. But when I connect an xlsx column to any of the other three checkboxes in the row (e.g., topmostSubform[0].Page1[0].c1_3[1], I get the following error:

One or more PDF files with the selected name already exists and is use by another application. Please close the other application and restart the creation process.
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei BulkPDF.PDF.SaveFilledPDF(String filePath, Boolean finalize)
bei BulkPDF.PDFFiller.CreateFiles(PDF pdf, Boolean finalize, IDataSource dataSource, Dictionary`2 pdfFields, String outputDir, DelGetFilename GetFilename, DelSetPercent setPercent, DelIsAborted isAborted)
bei BulkPDF.MainForm.backGroundWorker_DoWork(Object sender, DoWorkEventArgs e)

I don't think it has anything to do with PDF files in use by another application. I tried different file names and the error is always the same.

I tried to use PDFescape (free version) and other tools to find out any details about the respective checkboxes in the form but I could not see how to get at that information. Maybe BulkPDF could be enhanced to display the possible values for a checkbox (if that is the issue here).

I don't want to conclude without saying what a great tool BulkPDF is! Thank you!

P.S. Here are the field definitions (as output by pdftk):

FieldType: Button
FieldName: topmostSubform[0].Page1[0].c1_3[0]
FieldFlags: 0
FieldValue: Off
FieldJustification: Left
FieldStateOption: 1
FieldStateOption: Off

FieldType: Button
FieldName: topmostSubform[0].Page1[0].c1_3[1]
FieldFlags: 0
FieldValue: 2
FieldJustification: Left
FieldStateOption: 2
FieldStateOption: Off

FieldType: Button
FieldName: topmostSubform[0].Page1[0].c1_3[2]
FieldFlags: 0
FieldValue: Off
FieldJustification: Left
FieldStateOption: 3
FieldStateOption: Off

FieldType: Button
FieldName: topmostSubform[0].Page1[0].c1_3[3]
FieldFlags: 0
FieldValue: Off
FieldJustification: Left
FieldStateOption: 4
FieldStateOption: Off

[The second field was checked manually]

Another question: is it possible to enter some static text into a field with the BulkPDF GUI?

AcroForm not filling in values

When I am trying to bulk fill a PDF form that is an XFA form, it completes successfully but the resulting PDF is empty.

I was able to fix it by changing SaveFilledPDF to do:

pdfStamper.AcroFields.SetField(field.Name, field.Value);

instead of inserting a new text node as it does now. But I don't know if that is the proper way of filling the text fields.

Do you have a Unit test suite or something where I can add a repro for this?

Feature request: Update multiple PDFs

I have a number of PDF files which I need to update each file shall have data from one excel-row. Is there a workaround to do this in a smart way?

System.FormatException when trying to create PDFs.

Even with the example sheet and the example PDF with the configuration

  • Table1[.]Last name mapped to textbox1 and
  • filename set to out_ + Table1[.]Last name

I get the error

One or more PDF files with the selected name already exists and is use by another application. Please close the other application and restart the creation process.

thrown with

System.FormatException: Die Eingabezeichenfolge hat das falsche Format.
   bei System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   bei System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   bei iTextSharp.text.pdf.Type1Font.Process(RandomAccessFileOrArray rf)
   bei iTextSharp.text.pdf.Type1Font..ctor(String afmFile, String enc, Boolean emb, Byte[] ttfAfm, Byte[] pfb, Boolean forceRead)
   bei iTextSharp.text.pdf.BaseFont.CreateFont(String name, String encoding, Boolean embedded, Boolean cached, Byte[] ttfAfm, Byte[] pfb, Boolean noThrow, Boolean forceRead)
   bei iTextSharp.text.pdf.BaseFont.CreateFont(String name, String encoding, Boolean embedded)
   bei iTextSharp.text.pdf.DocumentFont.DoType1TT()
   bei iTextSharp.text.pdf.DocumentFont..ctor(PRIndirectReference refFont, PdfDictionary drEncoding)
   bei iTextSharp.text.pdf.AcroFields.DecodeGenericDictionary(PdfDictionary merged, BaseField tx)
   bei iTextSharp.text.pdf.AcroFields.GetAppearance(PdfDictionary merged, String[] values, String fieldName)
   bei iTextSharp.text.pdf.AcroFields.SetField(String name, String value, String display, Boolean saveAppearance)
   bei iTextSharp.text.pdf.AcroFields.SetField(String name, String value, Boolean saveAppearance)
   bei BulkPDF.PDF.SaveFilledPDF(String filePath, Boolean finalize)
   bei BulkPDF.PDFFiller.CreateFiles(PDF pdf, Boolean finalize, IDataSource dataSource, Dictionary`2 pdfFields, String outputDir, DelGetFilename GetFilename, DelSetPercent setPercent, DelIsAborted isAborted)
   bei BulkPDF.MainForm.backGroundWorker_DoWork(Object sender, DoWorkEventArgs e)

I am using the latest zip/portable version v1.0.2.0.

Can not handle date fields

From a support mail:
"My date field on my form is filling only with the numeric number for the date rather than the date when importing with bulkpdf. I have the field in excel formatted for date and the field on my pdf formatted for date."

Answer:
"BulkPDF can not handle date fields. You must change the field type to text."

Filenaming

for filenaming can you add morethan one from DataSource column?

_ True sheet1[.]Department + sheet1[.]firstname _ True

Acroforms vs. XFA Forms

System.NullReferenceException: Object reference not set to an instance of an object.
at BulkPDF.PDF.SaveFilledPDF(String filePath, Boolean finalize)
at BulkPDF.PDFFiller.CreateFiles(PDF pdf, Boolean finalize, IDataSource dataSource, Dictionary`2 pdfFields, String outputDir, DelGetFilename GetFilename, DelSetPercent setPercent, DelIsAborted isAborted)
at BulkPDF.MainForm.backGroundWorker_DoWork(Object sender, DoWorkEventArgs e)

If an error like this occures, your pdf must be converted to a BulkPDF compatible specification. For this just upload the file to https://www.pdfescape.com/ , save it there and download it again, without changing anything. The new downloaded file is now compatible with BulkPDF and your configuration should work nicely.

custom splash screen

Any way to pass in an argument to change or supress/silence the splash screen, ie suppress
'free open source software' or 'bulkpdf'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.