Entry-stage variant of the fluent chain that starts with conversion lifecycle event handlers. Sits at the same entry stage as WithSettings, and the resulting ConversionEvents bag fires on every conversion run by the converter.
// Recommended: aggregate handlers via WithEvents at the early stage (before Load).FluentConverter.WithEvents(e=>{e.OnDocumentConverted=ctx=>Console.WriteLine($"Done: {ctx.SourceFileName}");e.OnDocumentFailed=(ctx,ex)=>Console.Error.WriteLine(ex.Message);}).Load("input.docx").ConvertTo("output.pdf").WithOptions(newPdfConvertOptions()).Convert();
// Per-page mirror: per-page handlers via WithEvents at the early stage.FluentConverter.WithEvents(e=>{e.OnPageConverted=ctx=>Console.WriteLine($"page {ctx.Page} done");e.OnPageFailed=(ctx,ex)=>Console.Error.WriteLine($"page {ctx.Page}: {ex.Message}");}).Load("input.pdf").ConvertByPageTo(ctx=>newFileStream($"page-{ctx.Page}.png",FileMode.Create)).WithOptions(newImageConvertOptions{Format=ImageFileType.Png}).Convert();
// Legacy chain still compiles unchanged (now backed by the obsolete staged interfaces):FluentConverter.WithSettings(()=>newConverterSettings()).Load("").WithOptions(newPdfLoadOptions()).ConvertTo("").WithOptions(newPdfConvertOptions()).OnConversionCompleted(convertedDocumentStream=>{}).Convert();