Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Consulta integrada en el idioma (LINQ), una potente función del lenguaje C#, permite a los programadores crear búsquedas claras y expresivas para una gran variedad de fuentes de datos. En este artículo se analiza el uso de IronPDFuna biblioteca C# flexible para trabajar con documentos PDF, utilizando LINQ se distingue función. Mostraremos cómo esta combinación puede facilitar el proceso de creación de documentos únicos a partir de una colección. En este artículo, vamos a aprender sobre la función C# LINQ distinct con IronPDF.
System.Linq
.Distinto()
de la Lista.Los desarrolladores pueden crear consultas claras y expresivas para la manipulación de datos directamente en su código con LINQ de C#. (Idioma Consulta integrada) característica. LINQ, que se incluyó por primera vez en .NET Framework 3.5, ofrece una sintaxis estándar para consultar diversas fuentes de datos, como bases de datos y colecciones. LINQ facilita tareas sencillas como el filtrado y la proyección mediante operadores como Where y Select, lo que mejora la legibilidad del código. Dado que permite posponer la ejecución para conseguir una velocidad óptima, esta función es crucial para que los desarrolladores de C# se aseguren de que las operaciones de manipulación de datos se completan con rapidez y naturalidad de forma análoga a SQL.
Los elementos duplicados pueden eliminarse de una colección o secuencia utilizando la función Distinct de LINQ. En ausencia de un comparador de igualdad personalizado, compara los elementos utilizando su comparador por defecto. Esto lo convierte en una gran opción en situaciones en las que se necesita trabajar con una colección única y eliminar componentes duplicados. La técnica Distinct utiliza la comparación de igualdad por defecto para evaluar valores. Devolverá false para la propiedad particular que esté duplicada basándose en que mostrará elementos únicos.
Para obtener elementos distintos, lo más sencillo es utilizar el método Distinct directamente sobre una colección.
var distinctNumbers = numbers.Distinct();
var distinctNumbers = numbers.Distinct();
Dim distinctNumbers = numbers.Distinct()
Puede definir una comparación de igualdad personalizada utilizando una sobrecarga de la función Distinct. Esto es útil si desea comparar artículos según normas concretas. Consulte el siguiente ejemplo:
var distinctPeople = people.Distinct(new PersonEqualityComparer());
var distinctPeople = people.Distinct(new PersonEqualityComparer());
Dim distinctPeople = people.Distinct(New PersonEqualityComparer())
No es necesario proporcionar una comparación de igualdad personalizada cuando se utiliza el método Distinct con tipos de valor.
var distinctIntegers = integers.Distinct();
var distinctIntegers = integers.Distinct();
Dim distinctIntegers = integers.Distinct()
Distinct puede utilizarse con tipos anónimos para eliminar duplicados basándose en atributos concretos. Consulte el siguiente ejemplo:
var distinctPeople = people
.Select(p => new { p.FirstName, p.LastName })
.Distinct();
var distinctPeople = people
.Select(p => new { p.FirstName, p.LastName })
.Distinct();
Dim distinctPeople = people.Select(Function(p) New With {
Key p.FirstName,
Key p.LastName
}).Distinct()
Cuando trabaje con objetos, puede crear su propia lógica para distinguir por un atributo determinado, o puede utilizar el método de extensión DistinctBy
de bibliotecas de terceros (como Más LINQ).
var distinctPeople = people.DistinctBy(p => p.Id);
var distinctPeople = people.DistinctBy(p => p.Id);
Dim distinctPeople = people.DistinctBy(Function(p) p.Id)
Los programadores pueden crear, editar y modificar documentos PDF utilizando el lenguaje C# con ayuda de la biblioteca .NET IronPDF. El programa ofrece una serie de herramientas y funcionalidades que permiten realizar diversas tareas relacionadas con archivos PDF, como generar PDF a partir de HTML, convertir HTML a PDF, fusionar o dividir documentos PDF y añadir texto, imágenes y anotaciones a PDF ya existentes. Para saber más sobre IronPDF, consulte su página de documentación.
La principal característica de IronPDF es De HTML a PDFque mantiene intactos tus diseños y estilos. Puede generar archivos PDF a partir de contenidos web, perfectos para informes, facturas y documentación. Permite convertir archivos HTML, URL y cadenas HTML en archivos PDF.
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
Obtenga la biblioteca IronPDF; es necesario para el futuro parche. Para ello, introduzca el siguiente código en la consola del gestor de paquetes NuGet:
Install-Package IronPdf
Otra opción es utilizar el gestor de paquetes NuGet para buscar el paquete "IronPDF". Podemos elegir y descargar el paquete necesario de esta lista de todos los paquetes NuGet asociados con IronPDF.
Considere una situación en la que dispone de un conjunto de datos y desea crear varios documentos PDF en función de los distintos valores de dicho conjunto. Aquí es donde brilla la utilidad de Distinct de LINQ, sobre todo cuando se utiliza con IronPDF para crear documentos rápidamente.
using IronPdf;
using System;
using System.Collections.Generic;
using System.Linq;
public class DocumentGenerator
{
public string result {get;set;}
public int id {get;set;}
public static void Main()
{
// Sample data representing categories
List<string> categories = new List<string>
{
"Technology",
"Business",
"Health",
"Technology",
"Science",
"Business",
"Health"
};
// Use LINQ Distinct to filter out duplicate values
// distinct query syntax
var distinctCategories = categories.Distinct();
// Generate a distinct elements PDF document for each category
foreach (var category in distinctCategories)
{
GeneratePdfDocument(category);
}
}
private static void GeneratePdfDocument(string category)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>");
// Save the PDF to a file
string pdfFilePath = $"{category}_Report.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
}
using IronPdf;
using System;
using System.Collections.Generic;
using System.Linq;
public class DocumentGenerator
{
public string result {get;set;}
public int id {get;set;}
public static void Main()
{
// Sample data representing categories
List<string> categories = new List<string>
{
"Technology",
"Business",
"Health",
"Technology",
"Science",
"Business",
"Health"
};
// Use LINQ Distinct to filter out duplicate values
// distinct query syntax
var distinctCategories = categories.Distinct();
// Generate a distinct elements PDF document for each category
foreach (var category in distinctCategories)
{
GeneratePdfDocument(category);
}
}
private static void GeneratePdfDocument(string category)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>");
// Save the PDF to a file
string pdfFilePath = $"{category}_Report.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Imports System.Linq
Public Class DocumentGenerator
Public Property result() As String
Public Property id() As Integer
Public Shared Sub Main()
' Sample data representing categories
Dim categories As New List(Of String) From {"Technology", "Business", "Health", "Technology", "Science", "Business", "Health"}
' Use LINQ Distinct to filter out duplicate values
' distinct query syntax
Dim distinctCategories = categories.Distinct()
' Generate a distinct elements PDF document for each category
For Each category In distinctCategories
GeneratePdfDocument(category)
Next category
End Sub
Private Shared Sub GeneratePdfDocument(ByVal category As String)
' Create a new PDF document using IronPDF
Dim renderer As New IronPdf.HtmlToPdf()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>")
' Save the PDF to a file
Dim pdfFilePath As String = $"{category}_Report.pdf"
pdf.SaveAs(pdfFilePath)
' Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}")
End Sub
End Class
En este ejemplo, se obtiene una serie de categorías distintas utilizando el método Distinct para la colección de categorías. Nos ayudará a eliminar elementos duplicados de una secuencia. A continuación, se utiliza IronPDF para crear un documento PDF con elementos únicos. Este método garantiza que se produzcan documentos PDF separados únicamente para categorías únicas.
Para saber más sobre el ejemplo de código de IronPDF para generar PDF utilizando HTML, consulte aquí.
El método de extensión Distinct de LINQ junto con IronPDF ofrece un mecanismo sólido y eficaz para crear documentos PDF únicos basados en valores. Este método agiliza el código y garantiza la producción eficaz de documentos, tanto si trabaja con categorías, etiquetas o cualquier otro dato que requiera documentos independientes.
Puede desarrollar una solución fiable y expresiva para gestionar diferentes aspectos de sus aplicaciones C# utilizando LINQ para el procesamiento de datos e IronPDF para la producción de documentos. Cuando utilice estas estrategias en sus proyectos, tenga en cuenta las necesidades particulares de su aplicación y ajuste la implementación para lograr la máxima fiabilidad y rendimiento.
9 productos API .NET para sus documentos de oficina