Wie kann ich eine vierzig Grad-Drehung auf einen Text innerhalb PDFPCell Objekts machen. Kann ich einige Tricks anwenden, um die PDFContentByte-Methode manuell auszuführen, z. B. ShowTextAligned.
Dies hängt von der verwendeten iText (Sharp) Version ab.
In der Version 5.x und früher entweder Sie ShowTextAligned
verwenden, oder Sie haben den Inhaltsstrom zu manipulieren, vor und nach dem Text zu schreiben, das Koordinatensystem zu drehen. Um den Text in einer API mit sehr hoher Ebene zu zeichnen, würden Sie daher mit einer sehr geringen Content-Stream-Manipulation bezahlen.
In der Version 7 ist dagegen eine beliebige Rotation von Zelleninhalten in der High-Level-API möglich. Zum Beispiel können Sie es tun, wie folgt (für iText/Java; Portierung auf iTextSharp/.Net sollte trivial sein):
try ( PdfWriter pdfWriter = new PdfWriter(target);
PdfDocument pdfDocument = new PdfDocument(pdfWriter) )
{
Document document = new Document(pdfDocument);
Table table = new Table(new float[]{150, 150});
Cell cell = new Cell();
cell.setRotationAngle(40 * Math.PI/180.0)
.add(new Paragraph("Test Watermark Text Copyright Test Only"))
.setBorder(Border.NO_BORDER);
table.addCell(cell);
table.addCell(cell.clone(true));
table.addCell(cell.clone(true));
table.addCell(cell.clone(true));
document.add(table);
}
(RotateCellContent.java)
Dies führt zu

Dies wurde gesagt, obwohl Ihr Beispielbild darauf hinweist, dass Sie einfach re wollen Torf, der den Text immer wieder als Hintergrund gedreht hat. In diesem Fall könnte eine Lösung, wie sie von @Bruno in seinem Kommentar vorgeschlagen wird, eher passend sein.
Ich würde vorschlagen, eine Musterfarbe zu verwenden, aber ich bin mir nicht sicher, ob das genau Ihr Anwendungsfall ist.
Dies hätte den zusätzlichen Vorteil, dass der Text nicht in die Richtung der Kopie & Paste/Text-Extraktion kommen würde.
Erstellen Sie ein 'PdfTemplate', dann wickeln Sie es in ein Bild und drehen Sie das Bild ist eine Option. Das Erstellen einer Musterfarbe mit dem gedrehten Text ist eine weitere Option. Die Verwendung eines 'PdfPCell'-Ereignisses ist die Option, die Sie wahrscheinlich bereits gefunden haben. Was am besten funktioniert, hängt vom genauen Anwendungsfall ab. Wenn ich deinen Screenshot betrachte, sehe ich keine Zellen. Wenn ich Ihren Bildschirmausschnitt betrachte, würde ich vorschlagen, eine Musterfarbe zu verwenden, aber ich bin mir nicht sicher, ob das Ihr genauer Anwendungsfall ist. –
Wenn pdfpcell in iuttsharp eine 45 Grad Drehung machen kann, wurde dieser Fall früh gelöst ... lol ... ich werde versuchen, pdftemplate als Vorschlag zu verwenden ... – user3658777
hmm ... ich bekomme immer noch nicht die Information von " Erstellen Sie ein PdfTemplate, wickeln Sie es dann in ein Bild und drehen Sie das Bild ". Bedeutet das, dass ich eine gedrehte Textvorlage in einem Bild erzeuge und diese Vorlage dann als Wasserzeichen für die Erstellung der neuen PDF-Datei verwende? – user3658777