TXT ֆայլը փոխակերպել PDF փաստաթղթի .NET-ում

Բլոգի կատեգորիա՝ PDFOffice.NET

01.07.2021

Հաճախ անհրաժեշտ է լինում ձևաչափված տեքստը PDF փաստաթղթի վերածել։ Եթե տեքստն ունի բարդ ձևաչափում, ձևաչափված տեքստը PDF բովանդակության վերածելու համար կարող է շատ ժամանակ և կոդ պահանջվել։

VintaSoft Imaging .NET SDK-ի 10.1 տարբերակից ի վեր հնարավոր է դարձել խմբագրել առկա DOCX և XLSX փաստաթղթերը։ Այս գործառույթը կարելի է օգտագործել ձևաչափված տեքստը PDF բովանդակության ծրագրային եղանակով փոխակերպելու անհրաժեշտությունից ազատվելու համար։ Ձևաչափված տեքստը փոխակերպելու համար շատ կոդ գրելու փոխարեն, կարելի է ստեղծել DOCX փաստաթուղթ՝ անհրաժեշտ ձևաչափմամբ և տեղադրել անհրաժեշտ տեքստային բովանդակությունը արդեն ձևաչափված փաստաթղթում։ Դրանից հետո ստեղծված DOCX փաստաթուղթը կարող է հեշտությամբ փոխակերպվել PDF փաստաթղթի՝ օգտագործելով VintaSoft Imaging .NET SDK-ի գործառույթները։

Վերը նկարագրված եղանակի հիման վրա կարելի է հեշտությամբ ստեղծել TXT-ից PDF փոխարկիչ՝ հետևելով ստորև նշված քայլերին.
1. MS Word-ի միջոցով ստեղծեք DOCX փաստաթուղթ՝ txtTemplate.docx:
2. Ծրագրի կոդում՝
Այս մոտեցումը ապահովում է փոխարկիչի ճկունությունը և հարմարեցման հեշտությունը. ելքային փաստաթղթի պարամետրերը փոխելու համար անհրաժեշտ է միայն փոխել txtTemplate.docx ձևանմուշի պարամետրերը՝ օգտագործելով MS Word:


Ահա կոդի օրինակ, որը ցույց է տալիս, թե ինչպես փոխարկել TXT ֆայլը PDF փաստաթղթի՝
// The project, which uses this code, must have references to the following assemblies:
// - Vintasoft.Imaging
// - Vintasoft.Imaging.Office.OpenXml
// - Vintasoft.Imaging.Pdf

/// <summary>
/// Tests conversion from TXT file to a PDF document.
/// </summary>
public static void Test()
{
    ConvertTxtFileToPdfDocument("Products.txt", "txtTemplate.docx", "Products.pdf");
}

/// <summary>
/// Converts specified text file to a PDF document.
/// </summary>
/// <param name="txtFilename">The TXT filename.</param>
/// <param name="docxTemplateFilename">The DOCX template filename.</param>
/// <param name="outputPdfFilename">The output PDF filename.</param>
public static void ConvertTxtFileToPdfDocument(string txtFilename, string docxTemplateFilename, string outputPdfFilename)
{
    string text = System.IO.File.ReadAllText(txtFilename, System.Text.Encoding.Unicode);
    ConvertTextToPdfDocument(System.IO.Path.GetFileName(txtFilename), text, docxTemplateFilename, outputPdfFilename);
}

/// <summary>
/// Converts specified text to a PDF document.
/// </summary>
/// <param name="text">The text.</param>
/// <param name="title">The document title.</param>
/// <param name="docxTemplateFilename">The DOCX template filename.</param>
/// <param name="outputPdfFilename">The output PDF filename.</param>
public static void ConvertTextToPdfDocument(string title, string text, string docxTemplateFilename, string outputPdfFilename)
{
    // create DocxDocumentEditor and use DOCX file as a document template
    using (Vintasoft.Imaging.Office.OpenXml.Editor.DocxDocumentEditor editor =
        new Vintasoft.Imaging.Office.OpenXml.Editor.DocxDocumentEditor(docxTemplateFilename))
    {
        // replace text "[title]" by document title
        editor.Body.ReplaceText("[title]", title);

        // if document body does not contain text "[content]"
        if (!editor.Body.Contains("[content]"))
            throw new ArgumentException("Template file must be contains '[content]' text.");

        // replace text "[content]" by text content
        editor.Body["[content]"] = text;

        // export DOCX document to a PDF document
        editor.Export(outputPdfFilename);
    }
}