Click or drag to resize

PdfFieldCollectionNeedAppearances Property

Gets or sets a value representing whether a PDF reader should construct appearance streams and appearance dictionaries for form fields in the document.

Namespace:  RadPdf.Data.Document.Objects.FormFields
Assembly:  RadPdf (in RadPdf.dll) Version: 3.44.0.0 (3.44.0.0)
Syntax
public bool NeedAppearances { get; set; }

Property Value

Type: Boolean
Remarks

If this document was created from a PDF, the value of the NeedAppearances flag in the original file is the document default. Otherwise, the default value is false.

If a value of false is specified, RAD PDF automatically generates the appearance streams for all form fields.

If PDF form field values do not appear correctly when opened in third-party viewers, a value of true will force compliant PDF readers to render the fields (slightly slowing the speed with which the document can be displayed). This can be especially helpful if non-ASCII / non-ANSI characters are appearing as "?".

Examples
The following example uses a PdfIntegrationProvider to create a custom Integration Provider which will set NeedAppearances to true for all documents as they are saved.
C#
using System;
using System.Web;

using RadPdf.Integration;

public class CustomPdfIntegrationProvider : PdfIntegrationProvider
{
    public override void OnDocumentSaving(DocumentSavingEventArgs e)
    {
        base.OnDocumentSaving(e);

        // Set that a PDF reader should construct the appearance for
        // form fields in the document. This will prevent non-ASCII / 
        // non-ANSI characters from appearing as "?".
        e.Document.Fields.NeedAppearances = true;
    }
}
The following web.config file registers the above custom Integration Provider. This example assumes that CustomPdfIntegrationProvider is in the directory App_Code of your ASP.NET web application.
XML
<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="RadPdfConnectionString" value="Server=.\SQLExpress;Database=RadPdf;Trusted_Connection=Yes;"/>
    <add key="RadPdfLicenseKey" value="DEMO"/>
    <add key="RadPdfIntegrationProvider" value="CustomPdfIntegrationProvider,App_Code"/>
  </appSettings>
  <system.web>
    <httpHandlers>
      <add path="RadPdf.axd" verb="GET,POST" type="RadPdf.Web.HttpHandler.PdfHttpHandler"/>
    </httpHandlers>
  </system.web>
  <!--
    The system.webServer element is for use with IIS 7 (and later) when Managed Pipeline Mode is set to "Integrated".
    It will be ignored in other versions of IIS.
    -->
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <add path="RadPdf.axd" verb="GET,POST" name="PdfHttpHandler" preCondition="integratedMode" type="RadPdf.Web.HttpHandler.PdfHttpHandler"/>
    </handlers>
  </system.webServer>
</configuration>
See Also