/// <summary>
/// Converts a PDF document to conformance with PDF/A-1b specification and
/// shows the detailed result of conversion.
/// </summary>
/// <param name="pdfFilename">The filename of source PDF document.</param>
/// <param name="outputPdfFilename">The filename of output PDF document.</param>
public static void ConvertDocumentToPdfA1bDetalied(
string pdfFilename,
string outputPdfFilename)
{
// determine that file must converted to the PDF/A-1b and saved back to the source file
bool sameFile = pdfFilename.ToUpperInvariant() == outputPdfFilename.ToUpperInvariant();
// create the PDF/A-1b converter
Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bConverter converter =
new Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bConverter();
converter.LzwFixupCompression = Vintasoft.Imaging.Pdf.PdfCompression.Zip;
// converter.OutputIntentDestIccProfile = ...
using (Vintasoft.Imaging.Processing.ProcessingState processingState =
new Vintasoft.Imaging.Processing.ProcessingState())
{
// subscribe to the events for monitoring the progress
processingState.Progress += new System.EventHandler<Vintasoft.Imaging.ProgressEventArgs>(
convertProcessingState_Progress);
// execute the conversion
Vintasoft.Imaging.Processing.ConversionProfileResult result =
converter.Convert(pdfFilename, outputPdfFilename, processingState);
System.Console.WriteLine("finished.");
// if PDF document is converted successfully
if (result.IsSuccessful)
{
System.Console.WriteLine("Document converted to PDF/A-1b.");
}
// if PDF document is NOT converted
else
{
if (!sameFile)
System.IO.File.Delete(outputPdfFilename);
System.Console.WriteLine("Cannot convert document to PDF/A-1b, unsolved problems:");
// for each activated trigger
foreach (Vintasoft.Imaging.Processing.IProcessingCommandInfo
command in result.ActivatedTriggers.Keys)
{
// output information about activated trigger
System.Console.WriteLine(string.Format(" {0} ({1} matches)",
command,
result.ActivatedTriggers[command].Count));
}
}
}
}
/// <summary>
/// Handles the Progress event of the ProcessingState.
/// </summary>
static void convertProcessingState_Progress(object sender, Vintasoft.Imaging.ProgressEventArgs e)
{
System.Console.CursorLeft = 0;
System.Console.Write(string.Format("Conversion {0}%...", e.Progress));
}
Forum 'Code samples'
Code samples for VintaSoft PDF .NET Plug-in. Here you can request a code sample.
Board index < VintaSoft Imaging < VintaSoft PDF .NET Plug-in Discussions < Code samples
