---
title: "Check PSD Features With Output"
canonical: https://www.graphicsmill.com/samples/PSDFormat/ValidatePSD/CheckPsdFeaturesWithOutput_cs
product: "Graphics Mill"
source: "PSDFormat/ValidatePSD/CheckPsdFeaturesWithOutput.cs"
---

# Check PSD Features With Output

Writes a message with a list of unsupported features.

## Instruction

Write a C# program that validates "UnsupportedFeatures.psd" using PsdReader.CheckFeatures with output parameter to generate detailed string listing all unsupported features against the whitelist (raster layers, normal blend mode, RGB color, 8-bit channels), then displays the comprehensive validation report via Console.WriteLine showing specific PSD features that prevent rendering compatibility.

## Usings

```csharp
using System;
using Aurigma.GraphicsMill.Codecs.Psd;
```

## Code Snippet

```csharp
using (var psdReader = new PsdReader("UnsupportedFeatures.psd"))
{
    var renderSupportedFeatures = new PsdFeature[]
    {
        PsdFeature.LayerTypeRaster,
        PsdFeature.BlendModeNormal,
        PsdFeature.ColorModeRgb,
        PsdFeature.ChannelSize8bit,
    };

    string output = string.Empty;
    psdReader.CheckFeatures(renderSupportedFeatures, ref output);

    Console.WriteLine(output);
}
```

## Explanation

Below is a C# code sample that generates detailed PSD feature validation report:

The code demonstrates PSD compatibility checking with detailed output generation using CheckFeatures(ref output) overload, which populates the output string with a comprehensive list of detected unsupported features (advanced blend modes, non-RGB color spaces, 16-bit channels, complex layer types) that violate the renderSupportedFeatures whitelist. This diagnostic reporting enables precise identification of PSD compatibility issues, supporting automated quality control, preprocessing workflows, and user feedback in design automation systems where specific PSD feature subsets must be validated before batch rendering or PDF export.

## Tags

- [Image Validation](<https://www.graphicsmill.com/samples/tags/validation_md>): Inspecting images for unsupported or problematic features
- [PSD](<https://www.graphicsmill.com/samples/tags/psd_md>): Importing layered PSD files

## Input

- [UnsupportedFeatures.psd](<https://www.graphicsmill.com/samples/PSDFormat/compiled/Debug/UnsupportedFeatures_psd>) (download)

## Output

- [CheckPsdFeaturesWithOutput.txt](<https://www.graphicsmill.com/samples/PSDFormat/compiled/Debug/CheckPsdFeaturesWithOutput_txt>) (preview)

## Used APIs

- [Aurigma.GraphicsMill.Codecs.Psd.PsdFeature](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_Psd_PsdFeature.htm.md>)
- [Aurigma.GraphicsMill.Codecs.Psd.PsdReader](<https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Codecs_Psd_PsdReader.htm.md>)
- [Aurigma.GraphicsMill.Codecs.Psd.PsdReader.CheckFeatures(IEnumerable\{PsdFeature\},String@)](<https://www.graphicsmill.com/docs/gm/M_Aurigma_GraphicsMill_Codecs_Psd_PsdReader_CheckFeatures_2_ba1e7f75.htm.md>)
