Mail Merged Text Rendered as Graphics Image when Printing to AFP File C# .NET | InfoPrint Windows AFP Printer Driver | Print Document Print Method

In our mail merge application we have replaced Word automation with Aspose for Words for .NET. It is more stable, easier to code and allows us to inject barcodes while merging.

We do have a problem though when printing to an AFP file using the InfoPrint Windows AFP printer driver. When printing from Word, text is rendered as “Presentation Text Data”. When printing from Aspose Words using the same document and driver, text is rendered as an image (“Image Picture Data”). This results in an AFP file that is 6-10 times larger than the one produced from Word and it takes significantly longer to print.

How does Aspose Words for .NET send data to the printer driver? Does it convert all text to graphics before sending it, or is there something in the way Aspose is using the driver that causes the driver to render the text as graphics? I know that if you use a font that the driver does not recognize, even printing from Word will cause the driver to render that text as graphics.

Is there a setting that I’m missing or is it not possible to send text to the printer driver from Aspose Words?

Also, I have seen other people post feature requests for saving a document to an AFP file. Is this something that Aspose is considering anytime soon?

@ptmcbn,

We have logged your problem in our issue tracking system. Your ticket number is WORDSNET-17827. We will further look into the details of this problem and will keep you updated on the status of the linked issues.

@ptmcbn,

Your thread has also been linked to the appropriate issue (WORDSNET-16988). I am afraid, there are currently no estimates available at the moment. But, you will be notified in future when Aspose.Words supports rendering Word document to AFP.

@ptmcbn,

Regarding WORDSNET-17827, it is to update you that we would not be able to fix this issue and this issue has now been closed with ‘Not a Bug’ resolution. Aspose.Words uses standard printing approach of .NET, i.e. it relies on Microsoft GDI+ PrintDocument class. Here is an example of general PrintDocument usage in MSDN: PrintDocument.Print Method (System.Drawing.Printing) | Microsoft Learn

At each iteration of the page printing, this class (PrintDocument) provides a standard Graphics object. So all the text is printed via Graphics.DrawString method. Microsoft insists that the DrawString method should always be used to print text: How to: Print a Multi-Page Text File - Windows Forms .NET Framework | Microsoft Learn

I am afraid that we cannot do anything about it. Perhaps in the future we will develop direct exports to the APF (WORDSNET-16988). We will keep you posted on any further updates.

I was suspecting that was the issue. Thank you for taking the time to research this.