Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Kami selalu mencari cara untuk menghasilkan dokumen PDF dan bekerja dengan mereka dalam proyek C# dengan lebih tepat, akurat, dan efektif. Memiliki fungsi yang mudah digunakan dari sebuah pustaka memungkinkan kami untuk melacak lebih banyak pekerjaan, dan lebih sedikit pada rincian yang memakan waktu untuk mencoba menghasilkan PDF, baik dalam .NET.
Potongan kode berikut juga bekerja dengan pustaka Aspose.PDF.Drawing.
API Aspose.PDF for .NET memungkinkan Anda untuk membuat dan membaca file PDF menggunakan C# dan VB.NET. API ini dapat digunakan dalam berbagai aplikasi .NET termasuk WinForms, ASP.NET, dan beberapa lainnya. Dalam artikel ini, kami akan menunjukkan cara menggunakan API Aspose.PDF for .NET untuk dengan mudah menghasilkan dan membaca file PDF dalam aplikasi .NET.
Untuk membuat file PDF menggunakan C#, langkah-langkah berikut dapat digunakan.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateHelloWorldDocument()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_QuickStart();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
// Add page
var page = document.Pages.Add();
// Add text to new page
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));
// Save PDF document
document.Save(dataDir + "HelloWorld_out.pdf");
}
}
Aspose.PDF for .NET menyediakan fitur untuk membuat serta memanipulasi dokumen PDF yang ada. Saat menambahkan elemen Teks di dalam file PDF, PDF yang dihasilkan dapat dicari. Namun, jika kami mengonversi Gambar yang berisi teks menjadi file PDF, konten di dalam PDF tidak dapat dicari. Namun sebagai solusi, kami dapat menggunakan OCR pada file yang dihasilkan, sehingga menjadi dapat dicari.
Logika yang ditentukan di bawah ini mengenali teks untuk gambar PDF. Untuk pengenalan, Anda dapat menggunakan dukungan OCR luar standar HOCR. Untuk tujuan pengujian, kami telah menggunakan OCR Google tesseract gratis. Oleh karena itu, pertama-tama Anda perlu menginstal Tesseract-OCR di sistem Anda, dan Anda akan memiliki aplikasi konsol tesseract.
Berikut adalah kode lengkap untuk memenuhi persyaratan ini:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateSearchableDocument()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_QuickStart();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "SearchableDocument.pdf"))
{
document.Convert(CallBackGetHocr);
// Save PDF document
document.Save(dataDir + "SearchableDocument_out.pdf");
}
}
private static string CallBackGetHocr(System.Drawing.Image img)
{
var tmpFile = Path.GetTempFileName();
try
{
using (var bmp = new System.Drawing.Bitmap(img))
{
bmp.Save(tmpFile, System.Drawing.Imaging.ImageFormat.Bmp);
}
var inputFile = string.Concat('"', tmpFile, '"');
var outputFile = string.Concat('"', tmpFile, '"');
var arguments = string.Concat(inputFile, " ", outputFile, " -l eng hocr");
var tesseractProcessName = RunExamples.GetTesseractExePath();
var psi = new System.Diagnostics.ProcessStartInfo(tesseractProcessName, arguments)
{
UseShellExecute = true,
CreateNoWindow = true,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
WorkingDirectory = Path.GetDirectoryName(tesseractProcessName)
};
var p = new System.Diagnostics.Process
{
StartInfo = psi
};
p.Start();
p.WaitForExit();
using (var streamReader = new StreamReader(tmpFile + ".hocr"))
{
string text = streamReader.ReadToEnd();
return text;
}
}
finally
{
if (File.Exists(tmpFile))
{
File.Delete(tmpFile);
}
if (File.Exists(tmpFile + ".hocr"))
{
File.Delete(tmpFile + ".hocr");
}
}
}
Potongan kode ini bekerja dengan dokumen PDF dan konten bertag-nya, memanfaatkan pustaka Aspose.PDF untuk memprosesnya.
Contoh ini membuat elemen span baru dalam konten bertag dari halaman pertama PDF, menemukan semua elemen BDC, dan mengaitkannya dengan span tersebut. Dokumen yang dimodifikasi kemudian disimpan.
Anda dapat membuat pernyataan bdc dengan menentukan mcid, lang, dan teks ekspansi menggunakan objek BDCProperties:
var bdc = new Aspose.Pdf.Operators.BDC("P", new Aspose.Pdf.Facades.BDCProperties(1, "de", "Hallo, welt!"));
Setelah membuat pohon struktur, dimungkinkan untuk mengikat operator BDC ke elemen struktur yang ditentukan dengan metode Tag pada objek elemen:
Aspose.Pdf.LogicalStructure.SpanElement span = content.CreateSpanElement();
span.Tag(bdc);
Langkah-langkah untuk membuat PDF yang dapat diakses:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateAnAccessibleDocument()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_QuickStart();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "tourguidev2_gb_tags.pdf"))
{
// Access tagged content
Aspose.Pdf.Tagged.ITaggedContent content = document.TaggedContent;
// Create a span element
Aspose.Pdf.LogicalStructure.SpanElement span = content.CreateSpanElement();
// Append span to root element
content.RootElement.AppendChild(span);
// Iterate over page contents
foreach (var op in document.Pages[1].Contents)
{
var bdc = op as Aspose.Pdf.Operators.BDC;
if (bdc != null)
{
span.Tag(bdc);
}
}
// Save PDF document
document.Save(dataDir + "AccessibleDocument_out.pdf");
}
}
Kode ini memodifikasi PDF dengan membuat elemen span di dalam konten bertag dokumen dan menandai konten tertentu (operasi BDC) dari halaman pertama dengan span ini. PDF yang dimodifikasi kemudian disimpan ke file baru.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.