Word konvertálása szkennelt PDF-be a C# használatával

Ez a rövid oktatóanyag végigvezeti Önt, hogyan konvertálja a(z) Word fájlt beolvasott PDF-formátumba C# használatával. C# használata közben konvertálja a Word-t szkennelt PDF-ba néhány sornyi kóddal és egyszerű API-hívásokkal. Az alkalmazás bármely .NET Core alapú környezetben használható Windows, macOS vagy Linux alapú platformokon.

A Word konvertálása beolvasott PDF-be a C# használatával

  1. Állítsa be a projektet úgy, hogy a NuGet csomagkezelőből és a Systems.Drawingből hivatkozásokat adjon hozzá a Aspose.Words-hoz
  2. Töltse be a forrás Word fájlt a lemezről a Document osztályobjektum használatával
  3. Konvertálja az oldaltartományokat a Word fájlból, és mentse el képként a memóriafolyamban az IPageSavingCallback segítségével
  4. Töltse be a mentett szóoldal képfolyamát, és adja hozzá képként a DocumentBuilderben
  5. Mentse a dokumentumot beolvasott PDF-ként a lemezre

A C# szkennelés DOC PDF-be használata egyszerűen lehetséges a fent említett műveletsor segítségével. A folyamatot úgy indítjuk el, hogy betöltjük a forrás DOCX fájlt a lemezről, és az IPageSavingCallback használatával az oldaltartományban kiválasztott minden oldalt JPEG képek memóriafolyamává alakítjuk. Ezután az egyes oldalak JPEG memóriafolyamait iteráljuk, és belső oldalakat fűzünk hozzá a DocumentBuilder osztály segítségével. Végül a dokumentum írásvédett, beolvasott PDF-ként kerül mentésre a lemezre.

Kód a Word konvertálásához beolvasott PDF-be C# használatával

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);
}
}
}

Annak érdekében, hogy a Word-t PDF-be konvertáljuk C# használatával, és beolvasott PDF-et kapjunk, azt a megközelítést alkalmaztuk, hogy először a Word-dokumentumoldalakat JPEG-képekké alakítjuk, így azokat csak olvashatóvá tesszük. Ezután a DocumentBuilder osztály használatával az első lépésben létrehozott képek felhasználásával új dokumentumot hoztunk létre, és PDF-ként mentettük a lemezre.

Ebből az oktatóanyagból megtanultuk, hogy a Word to scanned PDF konverter C# alapú API hatékonyan használható. Ha egy üres oldalt szeretne eltávolítani egy Word-fájlból C# használatával, olvassa el a hogyan lehet eltávolítani az üres oldalt a Wordben a C# használatával cikket.

 Magyar