PDF are empty or distorted
Hello,
Today I installed my software on a new client and server.
- Windows 10 Enterprise for Virtual Desktops, version 22H2 OS build 19045.2251
- Windows Server 2022 Datacenter Azure Edition, version 21H2, OS build 20348.1366
Everything works fine, except my pdf-output.
On the Client the pdf's are all empty, on the server the are very distorted .
If i do a print-preview, and then print to the pdf-printer, it is OK.
So it seems in this new environment the pdf-generation fails.
Any idea what too do ?
Does REportbuilder need some additional software to generate the pdf ?
kind regards,
Dirk Janssens.
Today I installed my software on a new client and server.
- Windows 10 Enterprise for Virtual Desktops, version 22H2 OS build 19045.2251
- Windows Server 2022 Datacenter Azure Edition, version 21H2, OS build 20348.1366
Everything works fine, except my pdf-output.
On the Client the pdf's are all empty, on the server the are very distorted .
If i do a print-preview, and then print to the pdf-printer, it is OK.
So it seems in this new environment the pdf-generation fails.
Any idea what too do ?
Does REportbuilder need some additional software to generate the pdf ?
kind regards,
Dirk Janssens.
Comments
Empty PDF files are generally caused by a corruption of the PDF source. The main reason we see this is when the Delphi FormatSettings are changed without syncing the ppFormatSettings. If you are changing the FormatSettings, be sure to do the same to the ppFormatSettings to solve the problem. Distorted PDF files can be caused by a number of reasons. How exactly are the PDF's distorted? Do you have a printer installed on your machine? While the PDF device itself does not rely on a printer, ReportBuilder does use it to make initial measurements. Installing even a file printer (PDF driver, etc.) may help the issue.
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Thank you for you reply.
The strange thing is, I just got a phone call from a (old) customer where also the generated pdf's are all empty! Nothing changed (no software update). They use the software many years without problems.
Is is maybe possible that a Windows-update causes this behaviour?
// How exactly are the PDF's distorted?
on server :
kind regards,
Dirk Janssens.
The document generated by the pdf-printer is OK and starts with :
"
%PDF-1.7
4 0 obj
(Identity)
endobj
5 0 obj
(Adobe)
endobj
8 0 obj
<<
/Filter /FlateDecode
/Length 101648
/Type /Stream
>>
stream
"
The document generated by my application (report print to file), the empty document, starts with :
"
%PDF-1.7
%€‚ƒ
1 0 obj
<< /Creator <>
/CreationDate <443a32303233303130363133303832382b3032273030>
/Title <>
/Author <>
/Producer <5265706f72744275696c646572>
/Keywords <>
/Subject <> >>
endobj
2 0 obj
[/PDF /Text /ImageB /ImageC /ImageI]
endobj
3 0 obj
<< /Type /ExtGState
/SA true
>>
endobj
5 0 obj
<< /Length 9174
/Filter /FlateDecode
>>
stream
"
- latest version of ReportBuilder
- I added the lines you suggested
- I made a new report with only 1 label on it
---> The pdf is empty
any idea??
It seems to depend on the (windows) user.
They all log in on the same rdp server, so they use the exactly the same sofware.
(We even restarted the server to make sure averything is exact the same. )
user A,B ==> all fine
users C,D ==> all pdfs are empty
user C is an old profile with adminstrator rights, has worked for years.
user D is a new profile,
user A,B : old profiles, small differences, no problems fo years.
Where should I start ??
Please send the empty PDF file to me so I can see what is happening. If you could export the PDF with the compression set to clNone, that would be helpful.
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
which emailadres should I use?
kind regards
Dirk
ps : it is even getting stranger: I now have 2 pdf's opened in Notepad the *only* difference is creation/CreationDate
If I open them in Chroome: the first is empty, the second one shows label.
he first generated by client, the second by myselve...
voodoo-magic!!??!
If I open the files in Notepad++ i do see some differences:
For example, the line "9 0 obj ["
The empty PDF: 750.0 750.0 278.0 278.0 355.0 556.0 556 .....
The other : 750,0 750,0 278,0 278,0 355,0 556,0 556, .....
It looks like the value-seperator of that line is different. Could tha be a Windows-setting, and responsible for the corruption maybe ??
--> switching the region-settings of the user to Dutch solved it,
BUT
HOw is this possible all of the sudden??
This was never a problem, and the software did not change! Any ideas ??
kind regards,
Dirk Janssens
The issue is the FormatSettings. This is the only reason this behavior will occur. Somewhere (or multiple places) in your code you are manually changing the DecimalSeparator. After this is done, you need to be sure to perform the same task for the RB ppFormatSettings as I mentioned in my first response. Do a find-in-files for the following line of code.
"FormatSettings.DecimalSeparator :="
and add the following line of code below it:
ppFormatSettings := FormatSettings;
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Maybe that is too late? Should I add that line of code before or right after loading the report template?
I will do some more testing and let you know the results..
kind regards,
Dirk
I added the code before loading the report, and also in the routine where I set some pdf-settings, and now it works fine!
Thank you for your help,
kind regards,
Dirk
I have another question, my application stores pdf file in a database and some of them are empty. Is there a way of knowing if these pdfs are empty or not. As far as i can see the file sizes are normal. Can I fix them by replacing some data in the pdf files?
Unfortunately, no. The PDF files are not "empty", they simply have the commas (,) and periods (.) swapped.
In a perfect (non-encoded, non-compressed, non-encrypted) world, it may be possible to perform a find/replace on these files and get a valid PDF, however it is unlikely your saved PDF files used none of the above.
You will likely need to regenerate each invalid PDF.
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com