Cara Mengonversi Word ke PDF yang Dipindai menggunakan C#

Tutorial singkat ini akan memandu Anda tentang cara mengonversi Word ke PDF yang dipindai menggunakan C#. Saat menggunakan C# convert Word to scan PDF menggunakan beberapa baris kode dan panggilan API sederhana. Aplikasi ini dapat digunakan di salah satu lingkungan berbasis .NET Core pada platform berbasis Windows, macOS atau Linux.

Langkah-langkah untuk Mengonversi Word ke PDF yang Dipindai menggunakan C#

  1. Konfigurasikan proyek untuk menambahkan referensi ke Aspose.Words dari manajer paket NuGet dan Systems.Drawing
  2. Muat file Word sumber dari disk menggunakan objek kelas Document
  3. Konversikan rentang halaman dari file Word dan simpan sebagai Gambar di Memory Stream menggunakan IPageSavingCallback
  4. Muat aliran gambar halaman kata yang disimpan dan tambahkan sebagai gambar di dalam DocumentBuilder
  5. Simpan Dokumen sebagai PDF yang dipindai pada disk

Menggunakan C# scan DOC ke PDF mudah dilakukan dengan bantuan urutan operasi yang disebutkan di atas. Kami akan memulai proses dengan memuat file DOCX sumber dari disk dan menggunakan IPageSavingCallback setiap halaman yang dipilih dalam rentang halaman dikonversi ke aliran Memori gambar JPEG. Kemudian kami mengulangi melalui aliran memori JPEG halaman individual dan menambahkan halaman di dalam menggunakan kelas DocumentBuilder. Terakhir, dokumen disimpan sebagai PDF pindaian baca-saja pada disk.

Kode untuk Mengonversi Word ke PDF yang Dipindai menggunakan 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);
}
}
}

Untuk mengonversi Word ke PDF menggunakan C# dan mendapatkan PDF yang dipindai, kami telah mengadopsi pendekatan mengonversi halaman dokumen Word ke gambar JPEG terlebih dahulu dan dengan demikian menjadikannya hanya-baca. Kemudian dengan menggunakan kelas DocumentBuilder, kita telah membuat dokumen baru menggunakan gambar yang dibuat pada langkah pertama dan menyimpannya sebagai PDF pada disk.

Dalam tutorial ini, kita telah mempelajari bahwa untuk mengembangkan Word to scaned PDF converter berbasis C# API dapat digunakan secara efektif. Jika Anda ingin menghapus halaman kosong di file Word menggunakan C#, lihat artikel cara menghapus halaman kosong di Word menggunakan C#.

 Indonesian