PDF 내부 텍스트 회전하기 C#

다음 코드 조각은 Aspose.PDF.Drawing 라이브러리에서도 작동합니다.

PDF 내부에서 회전 속성을 사용하여 텍스트 회전

TextFragment 클래스의 Rotation 속성을 사용하여, 다양한 각도로 텍스트를 회전시킬 수 있습니다. 텍스트 회전은 문서 생성의 다양한 시나리오에서 사용될 수 있습니다. 필요에 따라 텍스트를 회전시키기 위해 각도를 도 단위로 지정할 수 있습니다. 텍스트 회전을 구현할 수 있는 다양한 시나리오를 확인해 주세요.

TextFragment와 TextBuilder를 사용하여 회전 구현

// 전체 예제와 데이터 파일은 https://github.com/aspose-pdf/Aspose.PDF-for-.NET 에서 확인하세요
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// 문서 객체 초기화
Document pdfDocument = new Document();
// 특정 페이지 가져오기
Page pdfPage = (Page)pdfDocument.Pages.Add();
// 텍스트 프래그먼트 생성
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.Position = new Position(100, 600);
// 텍스트 속성 설정
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 회전된 텍스트 프래그먼트 생성
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.Position = new Position(200, 600);
// 텍스트 속성 설정
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment2.TextState.Rotation = 45;
// 회전된 텍스트 프래그먼트 생성
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.Position = new Position(300, 600);
// 텍스트 속성 설정
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment3.TextState.Rotation = 90;
// TextBuilder 객체 생성
TextBuilder textBuilder = new TextBuilder(pdfPage);
// PDF 페이지에 텍스트 프래그먼트 추가
textBuilder.AppendText(textFragment1);
textBuilder.AppendText(textFragment2);
textBuilder.AppendText(textFragment3);
// 문서 저장
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated1_out.pdf");

TextParagraph와 TextBuilder를 사용한 회전 구현 (회전된 텍스트 조각)

// 완전한 예제와 데이터 파일은 https://github.com/aspose-pdf/Aspose.PDF-for-.NET 에서 확인하세요
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// 문서 객체 초기화
Document pdfDocument = new Document();
// 특정 페이지 가져오기
Page pdfPage = (Page)pdfDocument.Pages.Add();
TextParagraph paragraph = new TextParagraph();
paragraph.Position = new Position(200, 600);
// 텍스트 조각 생성
TextFragment textFragment1 = new TextFragment("회전된 텍스트");
// 텍스트 속성 설정
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 회전 설정
textFragment1.TextState.Rotation = 45;
// 텍스트 조각 생성
TextFragment textFragment2 = new TextFragment("주요 텍스트");
// 텍스트 속성 설정
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 텍스트 조각 생성
TextFragment textFragment3 = new TextFragment("다른 회전된 텍스트");
// 텍스트 속성 설정
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 회전 설정
textFragment3.TextState.Rotation = -45;
// 문단에 텍스트 조각 추가
paragraph.AppendLine(textFragment1);
paragraph.AppendLine(textFragment2);
paragraph.AppendLine(textFragment3);
// TextBuilder 객체 생성
TextBuilder textBuilder = new TextBuilder(pdfPage);
// PDF 페이지에 텍스트 문단 추가
textBuilder.AppendParagraph(paragraph);
// 문서 저장
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated2_out.pdf");

TextFragment와 Page.Paragraphs를 사용한 회전 구현

// 전체 예제와 데이터 파일은 https://github.com/aspose-pdf/Aspose.PDF-for-.NET 에서 확인하세요.
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// 문서 객체 초기화
Document pdfDocument = new Document();
// 특정 페이지 가져오기
Page pdfPage = (Page)pdfDocument.Pages.Add();
// 텍스트 프래그먼트 생성
TextFragment textFragment1 = new TextFragment("주요 텍스트");
// 텍스트 속성 설정
textFragment1.TextState.FontSize = 12;
textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 텍스트 프래그먼트 생성
TextFragment textFragment2 = new TextFragment("회전된 텍스트");
// 텍스트 속성 설정
textFragment2.TextState.FontSize = 12;
textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 회전 설정
textFragment2.TextState.Rotation = 315;
// 텍스트 프래그먼트 생성
TextFragment textFragment3 = new TextFragment("회전된 텍스트");
// 텍스트 속성 설정
textFragment3.TextState.FontSize = 12;
textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
// 회전 설정
textFragment3.TextState.Rotation = 270;
pdfPage.Paragraphs.Add(textFragment1);
pdfPage.Paragraphs.Add(textFragment2);
pdfPage.Paragraphs.Add(textFragment3);
// 문서 저장
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated3_out.pdf");

TextParagraph와 TextBuilder를 사용한 회전 구현 (전체 단락 회전)

// 전체 예제와 데이터 파일은 https://github.com/aspose-pdf/Aspose.PDF-for-.NET 에서 확인하세요
string dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// 문서 객체 초기화
Document pdfDocument = new Document();
// 특정 페이지 가져오기
Page pdfPage = (Page)pdfDocument.Pages.Add();
for (int i = 0; i < 4; i++)
{
    TextParagraph paragraph = new TextParagraph();
    paragraph.Position = new Position(200, 600);
    // 회전 지정
    paragraph.Rotation = i * 90 + 45;
    // 텍스트 조각 생성
    TextFragment textFragment1 = new TextFragment("Paragraph Text");
    // 텍스트 조각 생성
    textFragment1.TextState.FontSize = 12;
    textFragment1.TextState.Font = FontRepository.FindFont("TimesNewRoman");
    textFragment1.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
    textFragment1.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
    // 텍스트 조각 생성
    TextFragment textFragment2 = new TextFragment("Second line of text");
    // 텍스트 속성 설정
    textFragment2.TextState.FontSize = 12;
    textFragment2.TextState.Font = FontRepository.FindFont("TimesNewRoman");
    textFragment2.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
    textFragment2.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
    // 텍스트 조각 생성
    TextFragment textFragment3 = new TextFragment("And some more text...");
    // 텍스트 속성 설정
    textFragment3.TextState.FontSize = 12;
    textFragment3.TextState.Font = FontRepository.FindFont("TimesNewRoman");
    textFragment3.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
    textFragment3.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
    textFragment3.TextState.Underline = true;
    paragraph.AppendLine(textFragment1);
    paragraph.AppendLine(textFragment2);
    paragraph.AppendLine(textFragment3);
    // TextBuilder 객체 생성
    TextBuilder textBuilder = new TextBuilder(pdfPage);
    // PDF 페이지에 텍스트 조각 추가
    textBuilder.AppendParagraph(paragraph);
}
// 문서 저장
pdfDocument.Save(dataDir + "TextFragmentTests_Rotated4_out.pdf");