Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Siempre estamos buscando una manera de generar documentos PDF y trabajar con ellos en proyectos de C# de manera más exacta, precisa y efectiva. Tener funciones fáciles de usar de una biblioteca nos permite concentrarnos más en el trabajo y menos en los detalles que consumen tiempo al intentar generar PDFs, ya sea en .NET.
El siguiente fragmento de código también trabaja con la biblioteca Aspose.PDF.Drawing.
La API de Aspose.PDF for .NET te permite crear y leer archivos PDF usando C# y VB.NET. La API se puede utilizar en una variedad de aplicaciones .NET, incluyendo WinForms, ASP.NET y varias otras. En este artículo, vamos a mostrar cómo usar la API de Aspose.PDF for .NET para generar y leer archivos PDF fácilmente en aplicaciones .NET.
Para crear un archivo PDF usando C#, se pueden seguir los siguientes pasos.
// 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 proporciona la función para crear y manipular documentos PDF existentes. Al agregar elementos de texto dentro del archivo PDF, el PDF resultante es buscable. Sin embargo, si estamos convirtiendo una imagen que contiene texto a un archivo PDF, el contenido dentro del PDF no es buscable. Sin embargo, como solución alternativa, podemos usar OCR sobre el archivo resultante, para que se vuelva buscable.
Esta lógica especificada a continuación reconoce texto para imágenes PDF. Para el reconocimiento, puedes usar soportes externos de OCR que cumplan con el estándar HOCR. Para fines de prueba, hemos utilizado un OCR gratuito de Google Tesseract. Por lo tanto, primero necesitas instalar Tesseract-OCR en tu sistema, y tendrás la aplicación de consola de Tesseract.
El siguiente es el código completo para cumplir con este requisito:
// 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");
}
}
}
Este fragmento de código trabaja con un documento PDF y su contenido etiquetado, utilizando una biblioteca Aspose.PDF para procesarlo.
El ejemplo crea un nuevo elemento span en el contenido etiquetado de la primera página de un PDF, encuentra todos los elementos BDC y los asocia con el span. El documento modificado se guarda luego.
Puedes crear una declaración bdc especificando mcid, lang y texto de expansión usando el objeto BDCProperties:
var bdc = new Aspose.Pdf.Operators.BDC("P", new Aspose.Pdf.Facades.BDCProperties(1, "de", "Hallo, welt!"));
Después de crear el árbol de estructura, es posible vincular el operador BDC al elemento especificado de la estructura con el método Tag en el objeto del elemento:
Aspose.Pdf.LogicalStructure.SpanElement span = content.CreateSpanElement();
span.Tag(bdc);
Pasos para crear un PDF accesible:
// 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");
}
}
Este código modifica un PDF creando un elemento span dentro del contenido etiquetado del documento y etiquetando contenido específico (operaciones BDC) de la primera página con este span. El PDF modificado se guarda luego en un nuevo archivo.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.