Convert(String,String,ProcessingState) Метод (PdfDocumentConverter)
В этом разделе
Преобразует указанный PDF документ.
Синтаксис
Parameters
- inFilename
- Входное имя файла PDF документа.
- outFilename
- Имя выходного файла PDF документа.
- processingState
- Состояние обработки.
Return Value
Результат процесса преобразования.
Пример
Вот пример, показывающий, как преобразовать PDF документ в соответствие со спецификацией PDF/A-1b, и показывающий подробный результат преобразования:
''' <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 Shared Sub ConvertDocumentToPdfA1bDetalied(pdfFilename As String, outputPdfFilename As String)
' determine that file must converted to the PDF/A-1b and saved back to the source file
Dim sameFile As Boolean = pdfFilename.ToUpperInvariant() = outputPdfFilename.ToUpperInvariant()
' create the PDF/A-1b converter
Dim converter As New Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bConverter()
converter.LzwFixupCompression = Vintasoft.Imaging.Pdf.PdfCompression.Zip
' converter.OutputIntentDestIccProfile = ...
Using processingState As New Vintasoft.Imaging.Processing.ProcessingState()
' subscribe to the events for monitoring the progress
AddHandler processingState.Progress, New System.EventHandler(Of Vintasoft.Imaging.ProgressEventArgs)(AddressOf convertProcessingState_Progress)
' execute the conversion
Dim result As Vintasoft.Imaging.Processing.ConversionProfileResult = converter.Convert(pdfFilename, outputPdfFilename, processingState)
System.Console.WriteLine("finished.")
' if PDF document is converted successfully
If result.IsSuccessful Then
System.Console.WriteLine("Document converted to PDF/A-1b.")
Else
' if PDF document is NOT converted
If Not sameFile Then
System.IO.File.Delete(outputPdfFilename)
End If
System.Console.WriteLine("Cannot convert document to PDF/A-1b, unsolved problems:")
' for each activated trigger
For Each command As Vintasoft.Imaging.Processing.IProcessingCommandInfo In result.ActivatedTriggers.Keys
' output information about activated trigger
System.Console.WriteLine(String.Format(" {0} ({1} matches)", command, result.ActivatedTriggers(command).Count))
Next
End If
End Using
End Sub
''' <summary>
''' Handles the Progress event of the ProcessingState.
''' </summary>
Private Shared Sub convertProcessingState_Progress(sender As Object, e As Vintasoft.Imaging.ProgressEventArgs)
System.Console.CursorLeft = 0
System.Console.Write(String.Format("Conversion {0}%...", e.Progress))
End Sub
/// <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));
}
Требования
Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5
Смотрите также