Before Service Pack 3, fonts weren´t embedded in the PDF file after when rendering the report to this format. The side effect is that the size of the file might be bigger.

 

Some people have asked if it is possible to revert back to the old behavior (without reverting back to the old SP)?

 

More info:

 

http://technet.microsoft.com/en-us/library/ms159713(SQL.90).aspx

http://blogs.msdn.com/robertbruckner/archive/2008/10/27/unicode-in-pdf-font-embedding.aspx 

http://msdn.microsoft.com/en-us/library/ms154682(v=SQL.90).aspx

 

There is a way to diable Font Embedding for PDF to get smaller files, but before you switch it off, be warned that this might cause serious trouble depending on how the PDF documents are distributed. The reason that we added PDF Font Embedding to 2005 in addition to 2008 was that with the new versions of fonts shipping with Vista the Glyph IDs of many non ANSI characters got changed. That in case of Chinese characters caused PDF Documents generated by, for instance, Win 2003 Server to show incorrect characters on a Vista client. Handing out a PDF documents containing non ANSI characters without having them embedded is a very dangerous thing, which is why we also fixed it for 2005.

Having said that, the DeviceInfo being used for this feature is called EmbedFonts.
It’s default value is Subset. To switch is off you have to set it to None.

How do we disable this Font Embedding?


1. Open the rsReportServer.Config file under the path: <RS Installation Folder>\Reporting Services\ReportServer
2.  Please find

 

<Extension Name="PDF" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PdfReport,Microsoft.ReportingServices.ImageRendering">

 

3.  Replace the same with


<Extension Name="PDF" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PdfReport,Microsoft.ReportingServices.ImageRendering">

      <Configuration>

            <DeviceInfo>

                  <EmbedFonts>None</EmbedFonts>

            </DeviceInfo>

      </Configuration>

</Extension>


4. You would need to do an IISReset to set the changes

 

 

Maria Esteban

Reporting Services Support Engineer