Click or drag to resize

DocumentInitEventArgsExternalStyle Property

Gets or sets a value representing the URL of an external cascading style sheet (CSS).

Namespace:  RadPdf.Integration
Assembly:  RadPdfStandard (in RadPdfStandard.dll) Version: 4.1.0.0 (4.1.0.0)
Syntax
public string ExternalStyle { get; set; }

Property Value

Type: String
Remarks

This property is typically used to supply a web font for use with RAD PDF. While this property can be used to style a PdfWebControl instance in other ways, please do so at your own risk. Please contact Red Software with any questions.

This property can be an absolute or relative URL.

If the value is null or Empty, no external style sheet will be used.

The default value is null.

Examples
The following example overrides the default PdfIntegrationProvider to create a custom Integration Provider for the web application which sets custom fonts which use a web font for display client side. This allows your RAD PDF implementation to use a font which may not be installed on the client, but exists on your server as an available web font compatible with the client browser.
C#
using System;
using System.Web;

using RadPdf.Integration;

public class CustomPdfIntegrationProvider : PdfIntegrationProvider
{
    public CustomPdfIntegrationProvider() : base()
    {
        // Set the fonts we want available to RAD PDF
        this.FontResources.Clear();
        this.FontResources.Add(PdfFontResource.ArialFontResource);
        this.FontResources.Add(new PdfFontResource("Open Sans", "OpenSansWOFF, Open Sans, sans-serif", "Open Sans")); // The TrueType font "Open Sans" must be installed on the server.
    }

    public override void OnDocumentInit(DocumentInitEventArgs e)
    {
        base.OnDocumentInit(e);

        // Set the external style sheet which provides the font face for OpenSansWOFF.
        e.ExternalStyle = "CustomFontFaces.css";
    }
}
The following CustomFontFaces.css file creates a font face (OpenSansWOFF) which can be in the cssName parameter of the PdfFontResource(String, String, String) constructor. Our CSS specifies a Web Open Font Format (WOFF) file for use with this font face. (The font file is not included in this example.)
css
@font-face {
    font-family: OpenSansWOFF;
    font-style: normal;
    font-weight: 400;
    src: url(opensans.woff);
}
The following Program.cs file registers the above custom Integration Provider. This example assumes that CustomPdfIntegrationProvider is in namespace referenced by your ASP.NET web application.
C#
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

using RadPdf;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddRazorPages();
builder.Services.AddSession();

// Setup WebApplication
var app = builder.Build();
app.UseStaticFiles();
app.UseRouting();
app.UseSession();
app.UseAuthorization();

// Or however you normally process page requests
app.MapRazorPages();

// Create middleware settings
RadPdfCoreMiddlewareSettings settings = new RadPdfCoreMiddlewareSettings()
{
    // Add SQL Server Connection String, if not using Lite Documents
    // Sample connection string below connects to a SQL Server Express instance on localhost
    // TrustServerCertificate=True is set to avoid a trust exception (e.g. "The certificate chain was issued by an authority that is not trusted.")
    // ConnectionString = @"Server=.\SQLExpress;Database=RadPdf;Trusted_Connection=Yes;TrustServerCertificate=True;",

    // Add License Key
    LicenseKey = "DEMO",

    // Attach the Integration Provider
    IntegrationProvider = new CustomPdfIntegrationProvider()

    // To run RAD PDF without the System Service, add UseService = false
    // If using Lite Documents without the System Service, a LiteStorageProvider must also be implemented
    //UseService = false
};

// Add RAD PDF's middleware to app
app.UseRadPdf(settings);

app.Run();
See Also