Ինչպես փոխարկել Word-ը սկանավորված PDF-ի, օգտագործելով C#

Այս հակիրճ ձեռնարկը կառաջնորդի ձեզ, թե ինչպես փոխակերպել Word-ը սկանավորված PDF-ի` օգտագործելով C#: C#-ն օգտագործելիս փոխարկեք Word-ը սկանավորված PDF-ի՝ օգտագործելով մի քանի տող կոդ և պարզ API զանգեր: Հավելվածը կարող է օգտագործվել Windows-ի, macOS-ի կամ Linux-ի վրա հիմնված .NET Core-ի վրա հիմնված ցանկացած միջավայրում:

Word-ը սկանավորված PDF-ի փոխարկելու քայլեր՝ օգտագործելով C#

  1. Կազմաձևեք նախագիծը, որպեսզի հղումներ ավելացնի Aspose.Words-ին NuGet փաթեթի կառավարիչից և Systems.Drawing-ից
  2. Բեռնել սկզբնաղբյուր Word ֆայլը սկավառակից՝ օգտագործելով Document դասի օբյեկտը
  3. Փոխակերպեք էջի միջակայքերը Word ֆայլից և պահեք դրանք որպես Պատկերներ Memory Stream-ում՝ օգտագործելով IPageSavingCallback
  4. Բեռնեք պահպանված բառի էջի պատկերի հոսքը և ավելացրեք այն որպես պատկեր DocumentBuilder-ում
  5. Պահպանեք փաստաթուղթը որպես սկանավորված PDF սկավառակի վրա

C# scan DOC to PDF-ի օգտագործումը հեշտությամբ հնարավոր է վերոհիշյալ գործողությունների հաջորդականության օգնությամբ: Մենք գործընթացը կսկսենք՝ բեռնելով աղբյուրի DOCX ֆայլը սկավառակից և օգտագործելով IPageSavingCallback, էջի տիրույթում ընտրված յուրաքանչյուր էջ վերածվում է JPEG պատկերների հիշողության հոսքի: Այնուհետև մենք կրկնում ենք առանձին էջի JPEG հիշողության հոսքերի միջոցով և կցում ենք էջերի ներսում՝ օգտագործելով DocumentBuilder դասը: Ի վերջո, փաստաթուղթը պահվում է որպես միայն կարդալու սկանավորված PDF սկավառակի վրա:

Բառը սկանավորված PDF-ի փոխարկելու կոդը C#-ի միջոցով

using System;
using System.Collections;
using System.IO;
using Aspose.Words;
using Aspose.Words.Drawing;
using Aspose.Words.Saving;
using SkiaSharp;
namespace WordKB
{
public class WordToPDFScanned
{
public static void ConvertWordToPDF()
{
// Applying product license to read the Barcodes from image
License WordToPdf = new License();
WordToPdf.SetLicense("Aspose.Total.lic");
string WordFilePath = "AsposeTest.docx";
string ScannedPdfFilePath = "ScannedOutput.pdf";
WordToPDFScanner(WordFilePath, ScannedPdfFilePath);
}
public static void WordToPDFScanner(string WordFile, string ScannedPDFFile)
{
// Load Word document from file on disk
Document TempDoc = new Document(WordFile);
ImageSaveOptions jpeg_Opts = new ImageSaveOptions(SaveFormat.Jpeg);
PageRange pageRange = new PageRange(0, TempDoc.PageCount - 1);
jpeg_Opts.PageSet = new PageSet(pageRange);
WordToJpegImages JpegHandler = new WordToJpegImages();
jpeg_Opts.PageSavingCallback = JpegHandler;
MemoryStream memoryStream = new MemoryStream();
TempDoc.Save(memoryStream, jpeg_Opts);
Document ScannedPdf = new Document();
ScannedPdf.RemoveAllChildren();
foreach (MemoryStream JpegStream in JpegHandler.JpegStreams)
{
JpegStream.Position = 0;
using (SKBitmap jpg_image = SKBitmap.Decode(JpegStream))
{
Document image_Doc = new Document();
DocumentBuilder pdf_builder = new DocumentBuilder(image_Doc);
PageSetup ps = pdf_builder.PageSetup;
ps.PageWidth = ConvertUtil.PixelToPoint(jpg_image.Width);
ps.PageHeight = ConvertUtil.PixelToPoint(jpg_image.Height);
// Insert JPEG image inside the document and position it at the top left corner of the page
pdf_builder.InsertImage(jpg_image, RelativeHorizontalPosition.Page, 0, RelativeVerticalPosition.Page,
0, ps.PageWidth, ps.PageHeight, Aspose.Words.Drawing.WrapType.None);
ScannedPdf.AppendDocument(image_Doc, ImportFormatMode.KeepSourceFormatting);
}
}
ScannedPdf.Save(ScannedPDFFile);
}
}
public class WordToJpegImages : IPageSavingCallback
{
public ArrayList JpegStreams = new ArrayList();
public void PageSaving(PageSavingArgs args)
{
args.PageStream = new MemoryStream();
args.KeepPageStreamOpen = true;
JpegStreams.Add(args.PageStream);
}
}
}

Որպեսզի վերափոխենք Word-ը PDF-ի C#-ի միջոցով և ստանանք սկանավորված PDF, մենք որդեգրել ենք Word փաստաթղթի էջերը նախ JPEG պատկերների փոխակերպելու և այդպիսով դրանք դարձնելով միայն կարդալու մոտեցումը: Այնուհետև օգտագործելով DocumentBuilder դասը, մենք ստեղծել ենք նոր փաստաթուղթ՝ օգտագործելով առաջին քայլում ստեղծված պատկերները և այն պահել որպես PDF սկավառակի վրա:

Այս ձեռնարկում մենք իմացանք, որ Word-ի սկանավորված PDF փոխարկիչ մշակելու համար C# վրա հիմնված API-ն կարող է արդյունավետ օգտագործվել: Եթե ցանկանում եք հեռացնել դատարկ էջը Word ֆայլում՝ օգտագործելով C#, տես ինչպես հեռացնել դատարկ էջը Word-ում C#-ով հոդվածը:

 Հայերեն