on 07-27-2010 8:34 PM
I am working on an application that prints reports to a 3rd party system which captures PCL streams using the "HP LaserJet 5000 Series PCL 5" driver and converts the stream to text searchable documents. Problem is when my application prints from the Crystal 11 runtime with .NET running on Windows XP SP3 the PCL streams are valid but the report text cannot be extracted. However, when printing the same report from Crystal Designer XI text can be extracted from the PCL stream.
I've come to understand that the difference is that when printing from the runtime, the PCL driver is deciding to use a soft (downloaded) font because the resident font in the driver doesn't exactly match the font in the report/application. Apparently when fonts are download, the text is obfuscated for proprietary reasons leading to my problem. Where as, when printing the exact same report from the Designer, the driver finds a match and uses the resident font which means the driver won't obfuscate the text. At least this is my understanding of the problem having worked a few other forums.
So, my questions are:
1) Does the runtime behave differently because its running under .NET which uses different font libraries then the designer?
2) Is it possible to somehow embed the font in the RPT file from the Designer so that the runtime engine uses the same font and thus allows the driver to properly match the resident font? -- I'm afraid I'm not enough of a reports expert to know if this is possible. I've played around in the designer but haven't found anything.
1) Does the runtime behave differently because its running under .NET which uses different font libraries then the designer?
- Yes, that is correct. Just to add. Yo can use just about any font in the CR designer, but it may not work using the .NET runtime. E.g.; the font must be supported by the .NET framework. If it is not, you will see all kinds of issues.
2) Is it possible to somehow embed the font in the RPT file from the Designer so that the runtime engine uses the same font and thus allows the driver to properly match the resident font? -- I'm afraid I'm not enough of a reports expert to know if this is possible. I've played around in the designer but haven't found anything.
- No it is not. But this issue may be again related to the support of the font by the .NET framework. You should check into that. One way would be to use the following code to see if the font is recognized by the framework.
foreach(FontFamily ff in FontFamily.Families)
{
System.Diagnostics.Debug.WriteLine(ff.Name);
}
Ludek
Follow us on Twitter http://twitter.com/SAPCRNetSup
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
To answer the question; not possible. Even if you 'd use the printer font right at design time of the report, I doubt .NET framework would be able to use that font.
For the issue at hand.
Make sure the same printer driver is installed on both your development and runtime environment.
Ensure driver is set to be your default printer on both machines.
Create the report using the default printer driver.
At runtime, do not set the printer driver, etc.
Print.
Ludek
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.