Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Estamos sempre em busca de uma maneira de gerar documentos PDF e trabalhar com eles em projetos C# de forma mais exata, precisa e eficaz. Ter funções fáceis de usar de uma biblioteca nos permite acompanhar mais do trabalho e menos os detalhes que consomem tempo ao tentar gerar PDFs, seja em .NET.
O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.
A API Aspose.PDF for .NET permite que você crie e leia arquivos PDF usando C# e VB.NET. A API pode ser usada em uma variedade de aplicações .NET, incluindo WinForms, ASP.NET e várias outras. Neste artigo, vamos mostrar como usar a API Aspose.PDF for .NET para gerar e ler arquivos PDF facilmente em aplicações .NET.
Para criar um arquivo PDF usando C#, os seguintes passos podem ser utilizados.
// 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 fornece a funcionalidade para criar e manipular documentos PDF existentes. Ao adicionar elementos de texto dentro do arquivo PDF, o PDF resultante é pesquisável. No entanto, se estivermos convertendo uma imagem contendo texto em um arquivo PDF, o conteúdo dentro do PDF não é pesquisável. No entanto, como uma solução alternativa, podemos usar OCR sobre o arquivo resultante, para que ele se torne pesquisável.
Esta lógica especificada abaixo reconhece texto para imagens PDF. Para reconhecimento, você pode usar suporte externo de OCR que siga o padrão HOCR. Para fins de teste, usamos um OCR gratuito do Google Tesseract. Portanto, primeiro você precisa instalar o Tesseract-OCR em seu sistema, e você terá o aplicativo de console do Tesseract.
A seguir está o código completo para atender a esse 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 trecho de código trabalha com um documento PDF e seu conteúdo marcado, utilizando uma biblioteca Aspose.PDF para processá-lo.
O exemplo cria um novo elemento span no conteúdo marcado da primeira página de um PDF, encontra todos os elementos BDC e os associa ao span. O documento modificado é então salvo.
Você pode criar uma declaração bdc especificando mcid, lang e texto de expansão usando o objeto BDCProperties:
var bdc = new Aspose.Pdf.Operators.BDC("P", new Aspose.Pdf.Facades.BDCProperties(1, "de", "Hallo, welt!"));
Após criar a árvore de estrutura, é possível vincular o operador BDC ao elemento especificado da estrutura com o método Tag no objeto do elemento:
Aspose.Pdf.LogicalStructure.SpanElement span = content.CreateSpanElement();
span.Tag(bdc);
Passos para criar um PDF acessível:
// 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 um PDF criando um elemento span dentro do conteúdo marcado do documento e marcando conteúdo específico (operações BDC) da primeira página com este span. O PDF modificado é então salvo em um novo arquivo.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.