Flatten PDF C# Overview
Flatten PDF C# library is a tool that secures PDF documents by locking interactive elements and preserving their visual layout. It ensures form fields and annotations cannot be modified, while offering the ability to protect text from selection, copying, and extraction by converting it into vector paths. This makes the PDF fully read-only without compromising its original quality.
Lock Form Fields
Convert form inputs into static elements to prevent any further changes while keeping their original look.
Flatten Annotations
Turn annotations and widgets into non-interactive content without altering their appearance.
Protect Text Content
Stop text from being copied or extracted by converting it into vector shapes.
Preserve Document Quality
Maintain the original layout, sharpness, and vector precision even after flattening.
Make PDF Read-Only
Secure your file so no edits or interactions are possible while keeping it visually identical.
Boost Document Security
Eliminate unwanted modifications and safeguard sensitive data in your PDFs.
Customizable Parameters
Fine-tune your automation with these powerful conversion options
File
File Supported formats: .pdfFile to be converted. Value can be URL or file content.
Password
StringSets the password to open protected PDF.
FlattenControls
Bool Default: TruePrevent form controls such as text fields, checkboxes, and dropdowns from being edited by converting them into static page content while preserving their original appearance in the PDF.
FlattenWidgets
Bool Default: TruePrevent widget annotations such as buttons, list boxes, and signature fields from being interactive by converting them into static page content while preserving their original appearance in the PDF.
FlattenText
Bool Default: TruePrevent text selection, copying, and extraction by turning the textual symbols into vectorial paths to make the PDF read-only while preserving the original vectorial PDF quality.
StoreFile
Bool Default: FalseWhen the StoreFile parameter is set to True, your converted file is written to ConvertAPI’s encrypted, temporary storage and made available via a time-limited secure download URL, valid for up to 3 hours. After this period, the file is permanently deleted.
When StoreFile is set to False, conversion happens entirely in-memory. The raw file bytes are streamed back in the API response without touching disk or external storage, ensuring maximum security and zero persistence so that only you can access the content.
Step-by-Step Guide
Easy Flatten PDF integration programmatically using our simple C# SDK
1. C# library install
ConvertAPI provides an ASP.NET C# library that allows you to perform a Flatten PDF conversion with just a few lines of code. Convert PDF to FLATTEN using C# programming language with no effort at all!
Install-Package ConvertApi
2. Authenticate ConvertAPI C# library
You can obtain your API Token by signing up for a free account. Once you sign up, you'll receive 250 free conversions instantly! Grab your authentication key from the account dashboard, and authenticate the ConvertAPI C# library like this:
ConvertApi convertApi = new ConvertApi("api_token");
3. Flatten PDF using C# .NET
Once you have your authentication in place, simply copy-paste this Flatten PDF conversion code snippet into your C# project:
Advanced C# SDK Techniques
Take your ConvertAPI C# integrations to the next level with advanced techniques for real-world, production-grade document conversion workflows.
These advanced patterns help you build robust, scalable, and efficient Flatten PDF pipelines in your .NET applications while maintaining flexibility and control over your document workflows.
Convert a Remote PDF File
The following C# example demonstrates how to convert a PDF file hosted online (accessible via a public URL) directly to FLATTEN using ConvertAPI. This is useful when your documents are already stored on cloud storage (S3, Azure Blob, etc.) and you want to convert them without downloading locally first.
In this example:
- No local download needed before conversion.
- The PDF file is fetched from the provided URL.
- ConvertAPI converts it to FLATTEN and saves it to a temporary folder on your server or local machine.
- Ideal for server-side processing pipelines and automated workflows.
var convertApi = new ConvertApi("api_key");
var sourceFile = new Uri("https://cdn.convertapi.com/public/files/demo.pdf");
Console.WriteLine($"Converting online {sourceFile} document to FLATTEN...");
var pdfToFlattenResult = await convertApi.ConvertAsync("pdf", "flatten", new ConvertApiFileParam(sourceFile));
var outputFileName = pdfToFlattenResult.Files[0];
var fileInfo = await outputFileName.SaveFileAsync(Path.Combine(Path.GetTempPath(), outputFileName.FileName));
Console.WriteLine("The FLATTEN result saved to " + fileInfo);
Convert a PDF File Stream to FLATTEN and Receive a File Stream
This C# example demonstrates how to convert a PDF file provided as a stream directly to FLATTEN using ConvertAPI and receive the converted FLATTEN as a stream without writing to disk. This is ideal for in-memory processing in ASP.NET APIs, serverless functions, or pipeline services where you need to handle documents securely and efficiently.
In this example:
- You pass a PDF file stream (pdf_stream) with a filename hint to ConvertAPI.
- ConvertAPI converts the document to FLATTEN without saving intermediate files.
- The converted FLATTEN is returned as a stream (outputStream) for direct processing, returning to clients, or further manipulation in your pipeline.
- Ideal for secure, diskless document conversion workflows.
var conversionResult = await convertApi.ConvertAsync("pdf", "flatten",
new ConvertApiFileParam(pdf_stream, "test.pdf")
);
var outputStream = await conversionResult.Files.First().FileStreamAsync();
Console.Write(new StreamReader(outputStream).ReadToEnd());
Console.WriteLine("End of file stream.");
Handling Exceptions During Flatten PDF Conversion
This C# example shows how to handle exceptions when converting a PDF file to FLATTEN using ConvertAPI. By catching ConvertApiException, you can access detailed error information, making it easier to debug issues such as invalid API tokens, unsupported file formats, or conversion errors in your workflow.
In this example:
- A try-catch block safely wraps the PDF to FLATTEN conversion.
- If the API call fails, ConvertApiException provides the HTTP status code and API response details for clear diagnostics.
- This approach ensures your application can handle errors gracefully, log issues, and respond with meaningful messages to users or calling services.
try
{
var convertApi = new ConvertApi("api_token");
const string sourceFile = @"..\..\..\TestFiles\test.pdf";
var convert = await convertApi.ConvertAsync("pdf", "flatten",
new ConvertApiFileParam(sourceFile));
}
//Catch exceptions and write details
catch (ConvertApiException e)
{
Console.WriteLine("Status Code: " + e.StatusCode);
Console.WriteLine("Response: " + e.Response);
}
Integrate within minutes
Easy Flatten PDF automation using our simple C# SDK
Compatible With All .NET Frameworks & Tools
Frequently Asked Questions
What is ConvertAPI C# SDK?
The ConvertAPI C# SDK is a lightweight, easy-to-use library for .NET developers to integrate document and file conversions into their applications with minimal code. It connects directly to the ConvertAPI REST service, allowing you to automate file conversions, merging, splitting, and more.
What types of conversions are supported?
ConvertAPI offers 300+ converters and tools, including DOCX to PDF, XLSX to PDF, PDF to JPG, HTML to PDF, image processing, metadata extraction, compression, and advanced document workflows. You can automate complex document processing scenarios within your .NET applications using the SDK.
Can I build complex conversion workflows using the SDK?
Yes, the ConvertAPI .NET C# SDK allows you to chain conversions, merge documents, extract pages, and apply advanced parameters to automate end-to-end document workflows within your applications.
Is there a file size limit when using ConvertAPI?
The maximum file size you can convert depends on your ConvertAPI plan type. Higher-tier plans allow larger files and increased concurrency for high-volume document processing needs.
Can I convert files entirely in memory without storing them on your servers?
Yes, ConvertAPI supports in-memory conversions, allowing you to send and receive files as streams without saving them to disk on ConvertAPI servers. This enables secure, diskless workflows for sensitive or temporary files.
Which .NET versions does the ConvertAPI SDK support?
The SDK supports .NET Framework 4.5+, .NET Core, .NET 5, 6, 7, and 8, ensuring compatibility across your existing and new projects.
Businesses trust us
Highest rated File Conversion API on major B2B software listing platforms: Capterra, G2, and Trustpilot.
"ConvertAPI has been a game-changer for our document automation workflows. Their conversion accuracy and API reliability are unmatched in the industry for over 7 years."
"ConvertAPI is a reliable, cost-effective solution with a proven track record of stability. It has grown significantly in maturity, adopting enterprise-grade practices over the years."
"We've integrated ConvertAPI across our entire document processing platform. The performance is exceptional and the support team is always responsive. Highly recommended!"
Enterprise-Grade Security
We ensure that all document processing is handled securely in the cloud, adhering to industry-leading standards like ISO 27001, GDPR, and HIPAA. To enhance security even further, we can ensure that no files or data are stored on our servers and never leave your country.
Learn more about security