Click or drag to resize

PdfAdvancedSettingsUseUniscribe Property

Gets or sets a value representing whether instances RAD PDF should use Uniscribe on Windows platforms, allowing for connected / joined characters in supported fonts (e.g. Arabic).

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

Property Value

Type: Boolean
Remarks

The default value is false.

On non-Windows platforms, this property will throw an exception if set to true.

For more information about Uniscribe, see https://docs.microsoft.com/en-us/windows/win32/intl/uniscribe".

Examples
The following example overrides the default PdfIntegrationProvider to create a custom Integration Provider which uses Uniscribe, allowing for complex text layouts and scripts, like Arabic and Thai.
C#
using System;
using System.Web;

using RadPdf.Integration;

public class CustomPdfIntegrationProvider : PdfIntegrationProvider
{
    public CustomPdfIntegrationProvider() : base()
    {
        // Enable Uniscribe
        this.AdvancedSettings.UseUniscribe = true;
    }
}
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