El PDF (Portable Document Format) se ha convertido en uno de los formatos más utilizados en el mundo de los documentos digitales. Varias industrias están utilizando el formato PDF para generar sus informes, facturas, facturas y otros tipos de documentos comerciales. El código de barras, por otro lado, se ha convertido en una parte esencial del negocio que contiene información en forma legible por máquina. En estos días, es posible que incluso encuentre un código de barras en sus recibos y facturas. En este artículo, presentaré un caso de uso en el que necesita crear un archivo PDF e incrustar un código de barras en él, por ejemplo, al generar una factura. Para la demostración, crearé un editor de PDF de ASP.NET mediante el cual podrá generar archivos PDF y códigos de barras mediante C# dentro de la aplicación web ASP.NET Core.
Esta aplicación web ASP.NET tendrá las siguientes características:
- Un editor WYSIWYG para escribir el contenido del documento PDF.
- Opción para generar un código de barras basado en el texto proporcionado.
- Opción para establecer la simbología deseada del código de barras.
Requisitos previos para generar archivos PDF con código de barras en ASP.NET
Las siguientes son las herramientas y las API que necesitaría para crear el editor de PDF ASP.NET con funciones de código de barras.
- Visual Studio 2017 o posterior.
- Aspose.PDF para .NET – A .NET PDF API.
- Aspose.BarCode para .NET – .NET Barcode Generator and Scanner API.
Cree un editor de PDF ASP.NET con funciones de código de barras
Comencemos nuestro viaje y veamos cómo crear nuestro editor de PDF ASP.NET que permitirá generar PDF e incrustar código de barras con un solo clic.
- Cree una nueva aplicación web ASP.NET Core en Visual Studio.

- Seleccione Aplicación web (Modelo-Vista-Controlador) de las plantillas.

- Instale los paquetes de Aspose.PDF, Aspose.BarCode y CKEditor.

Descargue el paquete de CKEditor, extráigalo y copie/pegue la carpeta en el directorio wwwroot. También puede integrar cualquiera de sus editores HTML WYSIWYG favoritos según sus requisitos.
Agregue el siguiente script en la vista Views/Home/index.cshtml.
@{
ViewData["Title"] = "PDF Creator";
}
<script src="~/ckeditor/ckeditor.js"></script>
<br />
<form method="post">
<div class="row">
<div class="col-md-12">
<textarea name="editor1" id="editor1" rows="80" cols="80">
Start creating your PDF document.
</textarea>
<br />
<script>
// Replace the <textarea id="editor1"> with a CKEditor
// instance, using default configuration.
CKEDITOR.replace('editor1');
</script>
</div>
<hr />
</div>
<div class="row">
<div class="col-md-12">
<h3>Create a Barcode</h3>
</div>
</div>
<hr />
<div class="row">
<div class="col-md-9 form-horizontal" align="center">
<div class="form-group">
<label class="control-label col-sm-2" for="CodeText">Code Text</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="codeText" id="codeText" placeholder="Code text" />
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="barcodeType">Symbology</label>
<div class="col-sm-10">
<select name="barcodeType" class="form-control">
<option value="Code128">Code128</option>
<option value="Code11">Code11</option>
<option value="QR">QR</option>
<option value="Pdf417">Pdf417</option>
<option value="Datamatrix">Datamatrix</option>
</select>
</div>
</div>
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12" align="center">
<input type="submit" class="btn btn-lg btn-success" value="Generate PDF" />
</div>
</div>
</form>
- Agregue los siguientes métodos en Controllers/HomeController.cs.
[HttpPost]
public FileResult Index(string editor1, string codeText, string barcodeType)
{
// generate a barcode
string barcodeImagePath = Path.Combine("wwwroot/barcodes/", Guid.NewGuid() + ".png");
SymbologyEncodeType type = GetBarcodeSymbology(barcodeType);
BarcodeGenerator generator = new BarcodeGenerator(type, codeText);
generator.Parameters.BackColor = System.Drawing.Color.Transparent;
// set resolution of the barcode image
generator.Parameters.Resolution = 200;
// generate barcode
generator.Save(barcodeImagePath, BarCodeImageFormat.Png);
// create a unique file name for PDF
string fileName = Guid.NewGuid() + ".pdf";
// convert HTML text to stream
byte[] byteArray = Encoding.UTF8.GetBytes(editor1);
// generate PDF from the HTML
MemoryStream stream = new MemoryStream(byteArray);
HtmlLoadOptions options = new HtmlLoadOptions();
Document pdfDocument = new Document(stream, options);
// add barcode image to the generated PDF
pdfDocument = InsertImage(pdfDocument, barcodeImagePath);
// create memory stream for the PDF file
Stream outputStream = new MemoryStream();
// save PDF to output stream
pdfDocument.Save(outputStream);
// return generated PDF file
return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
}
private SymbologyEncodeType GetBarcodeSymbology(string symbology)
{
if (symbology.ToLower() == "qr")
return EncodeTypes.QR;
else if (symbology.ToLower() == "code128")
return EncodeTypes.Code128;
else if (symbology.ToLower() == "code11")
return EncodeTypes.Code11;
else if (symbology.ToLower() == "pdf417")
return EncodeTypes.Pdf417;
else if (symbology.ToLower() == "datamatrix")
return EncodeTypes.DataMatrix;
else
return EncodeTypes.Code128; // default barcode type
}
private Document InsertImage(Document document, string barcodeImagePath)
{
// get page from Pages collection of PDF file
Aspose.Pdf.Page page = document.Pages[1];
// create an image instance
Aspose.Pdf.Image img = new Aspose.Pdf.Image();
img.IsInLineParagraph = true;
// set Image Width and Height in Points
img.FixWidth = 100;
img.FixHeight = 100;
img.HorizontalAlignment = HorizontalAlignment.Right;
img.VerticalAlignment = VerticalAlignment.Top;
// set image type as SVG
img.FileType = Aspose.Pdf.ImageFileType.Unknown;
// path for source barcode image file
img.File = barcodeImagePath;
page.Paragraphs.Add(img);
// return updated PDF document
return document;
}
- Cree la aplicación y ejecútela en su navegador favorito.

Generación de un PDF con ASP.NET PDF Editor
Los siguientes son los pasos, así como la demostración de cómo generar un archivo PDF e incrustar un código de barras con un solo clic.
- Escriba o copie/pegue el contenido del documento PDF en el área del editor.
- Configure el texto del código para generar el código de barras.
- Seleccione la simbología de código de barras que desee (consulte todas las simbologías de códigos de barras admitidas).
- Haga clic en el botón Generar PDF para crear el PDF con un código de barras.
Descargar código fuente
Puede descargar el código fuente completo de este editor PDF ASP.NET desde aquí.
Pruebe las API de Aspose de forma gratuita
Obtenga su licencia temporal y pruebe nuestras API gratis durante un mes.