Letar du efter en höghastighetslösning för att generera rika PDF-filer i C#? Om ja, den här artikeln kommer att underlätta ditt liv genom att förenkla processen att skapa PDF-filer från grunden.

Skapa PDF-dokument med C#

Automatiserad generering och bearbetning av PDF dokument har blivit en krävande funktion de senaste dagarna. I olika applikationer genereras PDF-dokument dynamiskt, såsom fakturor, kvitton och olika typer av rapporter. Den här artikeln täcker den grundläggande implementeringen av PDF-automatisering i .NET-applikationer. I slutändan kommer du att lära dig hur du skapar PDF-filer i C#. Vi kommer också att visa hur man infogar text, bilder, tabeller och andra komponenter i PDF via C#.

C# .NET PDF-bibliotek för att generera PDF

Aspose.PDF för .NET är ett bibliotek för manipulering av PDF-filer som låter dig generera och bearbeta PDF-filer från dina .NET-applikationer. Med hjälp av biblioteket kan du generera olika typer av rapporter och affärsdokument dynamiskt. Du kan också få en gratis licens och skapa dina önskade PDF-filer.

Biblioteket är tillgängligt som en nedladdningsbar DLL och finns på NuGet.

Install-Package Aspose.Pdf

Skapa PDF-filer i C#

Låt oss börja med att skapa ett enkelt PDF-dokument som innehåller ett textfragment. Följande är stegen för att skapa en PDF-fil med C#.

Följande kodexempel visar hur man skapar en enkel PDF-fil med C#.

// Initiera dokumentobjekt
Document document = new Document();

// Lägg till sida
Page page = document.Pages.Add();

// Lägg till text på ny sida
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// Spara PDF 
document.Save("document.pdf");

Läs mer om att skapa komplexa PDF-dokument.

Hur man redigerar en PDF-fil i C#

Att ändra en PDF-fil är lika enkelt som att skapa en ny. Ladda helt enkelt filen med klassen Document, utför önskade operationer och spara den. Följande är stegen för att ändra en PDF.

  • Skapa ett objekt av klassen Document och ange en PDF-fils sökväg till dess konstruktor.
  • Manipulera sidorna eller innehållet i dokumentet.
  • Spara dokumentet med metoden Document.Save().

Följande kodexempel visar hur man ändrar en PDF med C#.

// Ladda PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// Gör lite manipulationer, t.ex. lägg till ny tom sida
pdfDocument.Pages.Add();

// Spara den uppdaterade PDF-filen
pdfDocument.Save(modifiedFileName);

Infoga bild i PDF med C#

Låt oss nu kontrollera hur man infogar en bild i PDF-dokumentet. Följande är stegen för att göra det.

  • Skapa ett objekt av klassen Dokument för att öppna ett PDF-dokument.
  • Gå till sidan där du vill lägga till en bild med klassen Page.
  • Lägg till bilden i sidans Resurser samling.
  • Använd operatorer för att placera bilden på sidan:
    • GSave operator to save the current graphical state.
    • Sammanfoga matris operator to specify where the image is to be placed.
    • Do operator to draw the image on the page.
    • Använd slutligen operatorn GRestore för att spara det uppdaterade grafiska tillståndet.
  • Spara PDF-filen.

Följande kodexempel visar hur man lägger till en bild i ett PDF-dokument med C#.

// Öppna dokumentet
Document pdfDocument = new Document("document.pdf");

// Ställ in koordinater
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Skaffa sidan där bilden behöver läggas till
Page page = pdfDocument.Pages[1];

// Ladda bilden i stream
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// Lägg till bild i bildsamlingen av sidresurser
page.Resources.Images.Add(imageStream);

// Använda GSave-operatorn: denna operatör sparar aktuell grafikstatus
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Skapa rektangel- och matrisobjekt
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// Använda operatorn ConcatenateMatrix (sammanfoga matris): definierar hur bilden ska placeras
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Använda Gör-operatorn: denna operator ritar en bild
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// Använda GRestore-operatorn: denna operator återställer grafiktillstånd
page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); 

// Spara uppdaterat dokument
pdfDocument.Save("document.pdf");

Läs mer om infoga bilder i PDF.

Skapa en tabell i PDF med C#

Tabellerna är en väsentlig komponent i de dokument som används för att organisera data i form av rader och kolumner. Aspose.PDF för .NET ger dig ett ganska enkelt sätt att skapa och infoga tabeller i PDF-dokument. Följande är stegen för att utföra denna operation.

  • Ladda PDF-filen med klassen Document.
  • Initiera en tabell och ställ in dess kolumner och rader med klassen Table.
  • Ställ in tabellens inställningar (dvs. gränser).
  • Fyll i tabellen genom att skapa rader med metoden Table.Rows.Add().
  • Lägg till tabellen på sidan med metoden Document.Pages1.Paragraphs.Add(Table).
  • Spara PDF-filen.

Följande kodexempel visar hur man skapar och lägger till en tabell i ett PDF-dokument i C#.

// Ladda käll PDF-dokument
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// Initierar en ny instans av tabellen
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// Ställ in bordets kantfärg som ljusgrå
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Ställ in gränsen för tabellceller
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// Skapa en slinga för att lägga till 10 rader
for (int row_count = 1; row_count < 10; row_count++)
{
    // Lägg till rad i tabellen
    Aspose.Pdf.Row row = table.Rows.Add();
    // Lägg till tabellceller
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// Lägg till tabellobjekt på första sidan i inmatningsdokumentet
doc.Pages[1].Paragraphs.Add(table);

// Spara uppdaterat dokument som innehåller tabellobjekt
doc.Save("document_with_table_out.pdf");

Läs mer om skapa tabeller i PDF.

Skapa ett formulär i PDF i C#

Formulär i PDF-filer används för att samla in data från läsarna. Du kan infoga textrutor, kryssrutor, alternativknappar och andra kontroller som stöds i PDF-formulär. PDF-format stöder två typer av formulär; Acro-formulär och XFA-formulär (se detaljer). Följande är stegen för att skapa och lägga till formulär i en PDF.

Följande kodexempel visar hur man lägger till formulär i PDF-dokumentet med C#.

// Öppna dokumentet
Document pdfDocument = new Document("document.pdf");

// Skapa ett fält
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = new Border(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// Lägg till fält i dokumentet
pdfDocument.Form.Add(textBoxField, 1);

// Spara modifierad PDF
pdfDocument.Save("output.pdf");

Läs mer om skapa formulär i PDF.

Gratis C# PDF-bibliotek

Du kan få en absolut gratis temporär licens och generera PDF-filer utan några begränsningar.

Gratis Online PDF Viewer och Editor

Aspose.PDF tillhandahåller en gratis webbapp online som låter dig visa PDF-filer och redigera PDF-filer.

Slutsats

I det här inlägget har du lärt dig hur du skapar PDF-filer från början med C#. Dessutom har du lärt dig hur du infogar olika typer av komponenter som text, bilder, tabeller och formulär i ett PDF-dokument programmatiskt. Du kan lära dig mer om PDF-API:et med hjälp av dokumentationen.

Se även