Om du genererar PDF-filer programmatiskt kan du behöva rotera PDF-text i en specifik vinkel. Det kan vara svårt att ändra orienteringen och positionen för en text i en PDF. Lösningen i den här artikeln har dock gjort det ganska enkelt att rotera text i PDF med C#. Så låt oss gräva ner och kolla hur man roterar text i en PDF i C#.
C#-bibliotek för att rotera text i PDF
För att rotera text i PDF kommer vi att använda Aspose.PDF för .NET. Det är ett C#-klassbibliotek som tillhandahåller grundläggande såväl som avancerade PDF-manipuleringsfunktioner för .NET-applikationer. Med hjälp av biblioteket kan du generera PDF-dokument med enkla eller komplexa layouter sömlöst.
Du kan antingen ladda ner bibliotekets DLL eller installera den med NuGet.
PM> Install-Package Aspose.PDF
Hur man roterar text i PDF i C#
Det finns flera sätt att rotera text i en PDF-fil med C#. Du kan antingen rotera ett textfragment eller hela stycket. Låt oss se hur var och en av dessa textrotationer fungerar.
C# Rotera text i PDF med TextFragment
Följande är stegen för att rotera ett textfragment i en PDF med C#.
- Skapa först ett nytt dokument med klassen Document.
- Lägg sedan till en sida i dokumentet och hämta dess referens med metoden Document.Pages.Add().
- Efter det skapar du ett nytt textfragment med klassen TextFragment.
- Ställ in textfragmentets position och typsnitt.
- Ställ in rotationsvinkel med egenskapen TextFragment.TextState.Rotation.
- Skapa ett nytt TextBuilder-objekt och initiera det med Sidobjektet.
- Använd metoden TextBuilder.AppendText(TextFragment) för att lägga till text på sidan.
- Slutligen sparar du PDF-dokumentet med metoden Document.Save(string).
Följande kodexempel visar hur man roterar text i en PDF-fil i C#.
// Initiera dokumentobjekt
Document pdfDocument = new Document();
// Skaffa en speciell sida
var pdfPage = pdfDocument.Pages.Add();
// Skapa textfragment
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.Position = new Position(100, 600);
// Ställ in textegenskaper
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Skapa ett roterat textfragment
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.Position = new Position(200, 600);
// Ställ in textegenskaper
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
// Skapa ett roterat textfragment
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.Position = new Position(300, 600);
// Ställ in textegenskaper
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
// skapa TextBuilder-objekt
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Lägg till textfragmentet till PDF-sidan
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
// Spara dokument
pdfDocument.Save("Rotation_TextFragment.pdf");
Produktion
Rotera PDF-text med TextParagraph i C#
Du kan också använda rotation på texten medan du skapar ett nytt stycke. Detta kan uppnås med klassen TextParagraph. Följande är stegen för att tillämpa textrotation i PDF med TextParagraph-klassen.
- Skapa först ett nytt dokument med klassen Document.
- Lägg sedan till en sida i dokumentet och hämta dess referens med metoden Document.Pages.Add().
- Efter det skapar du ett nytt TextParagraph objekt.
- Skapa ett nytt textfragment med klassen TextFragment och ställ in text och typsnitt.
- Ställ in rotationsvinkel med egenskapen TextFragment.TextState.Rotation.
- Lägg till text i stycket med metoden TextParagraph.AppendLine(TextFragment).
- Skapa ett nytt TextBuilder-objekt och initiera det med Page-objektet.
- Använd metoden TextBuilder.AppendParagraph(TextParagraph) för att lägga till ett stycke på sidan.
- Slutligen sparar du PDF-dokumentet med metoden Document.Save(string).
Följande kodexempel visar hur man roterar text i ett stycke i PDF i C#.
// Initiera dokumentobjekt
Document pdfDocument = new Document();
// Skaffa en speciell sida
var pdfPage = pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
// Skapa textfragment
TextFragment textFragment1 = new TextFragment("rotated text");
// Ställ in textegenskaper
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Ställ in rotation
textFragment1.TextState.Rotation = 45;
// Skapa textfragment
TextFragment textFragment2 = new TextFragment("main text");
// Ställ in textegenskaper
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Skapa textfragment
TextFragment textFragment3 = new TextFragment("another rotated text");
// Ställ in textegenskaper
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// Ställ in rotation
textFragment3.TextState.Rotation = -45;
// Lägg till textfragmenten till stycket
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
// Skapa TextBuilder-objekt
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Lägg till textstycket till PDF-sidan
textBuilder.AppendParagraph(paragraph);
// Spara dokument
pdfDocument.Save("Rotation_TextParagraph.pdf");
Produktion
Gratis C#-bibliotek för att rotera text i PDF
Du kan få en gratis tillfällig licens och rotera text i PDF-filer utan några begränsningar.
Utforska C# PDF-biblioteket
Du kan utforska andra funktioner i C# PDF-biblioteket med hjälp av dokumentationen. Om du skulle ha några frågor eller funderingar kan du kontakta oss via vårt forum.
Slutsats
PDF-automatisering används allmänt för att skapa och manipulera PDF-dokument från webben eller skrivbordsapplikationer. I den här artikeln har du lärt dig hur du roterar text i PDF med C#. Vi har uttryckligen täckt hur man roterar text med hjälp av klasserna TextFragment och TextParagraph. Du kan enkelt använda de medföljande kodexemplen i dina applikationer efter att ha integrerat vårt C# PDF-bibliotek.