Das System, an dem ich arbeite, stempelt PDFs mit bestimmten Informationen. Dazu wird in der oberen rechten Ecke des Dokuments ein lindgrünes Textfeld erstellt. Es zeichnet dann eine bestimmte Zeichenfolge oben auf der grünen Fläche. Dies funktioniert für Tausende von PDFs, aber für einen ist der Text unsichtbar, obwohl die Box gezeichnet ist. Ich kann den Text immer noch auswählen und in etwas anderes kopieren, aber er ist im PDF nicht sichtbar.PDFsharp DrawString Text Unsichtbar für bestimmte PDF
Leider kann ich das PDF nicht teilen, aber es ist ein PDF 1.4. Was würde das verursachen?
Der Code für das Stanzen:
private static XGraphics drawString(XGraphics xgr, PdfPage page, string printString, int pageNumber = 0)
{
XFont font = new XFont("Verdana", 10, XFontStyle.BoldItalic);
var textSize = xgr.MeasureString(printString, font);
var width = textSize.Width;
var height = textSize.Height;
double xMin = 0;
double yMin = 0;
if (page.Rotate == 90)
{
xMin = page.Height - textSize.Width;
var state = xgr.Save();
xgr.DrawRectangle(XBrushes.LimeGreen, xMin, yMin, width, height);
xgr.Restore(state);
xgr.DrawString(printString, font, XBrushes.Black, new XRect(0, 0, page.Height, page.Width), topRight());
}
else
{
xMin = page.Width - textSize.Width;
var state = xgr.Save();
xgr.DrawRectangle(XBrushes.LimeGreen, xMin, yMin, width, height);
xgr.Restore(state);
xgr.DrawString(printString, font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), topRight());
}
return xgr;
}
private static XStringFormat topRight()
{
XStringFormat format = new XStringFormat();
format.Alignment = XStringAlignment.Far;
format.LineAlignment = XLineAlignment.Near;
return format;
}
Ich habe mit dipose versucht() auf xgr und es vor jedem seiner Zieh Aktionen Neuinitialisierung. Ich habe versucht, den Zustand von xgr zwischen Zeichnungsaktionen zu speichern und wiederherzustellen, wie im Code gesehen. Ich habe verschiedene Schriftarten und Schriftgrößen auch ohne Glück ausprobiert.
Lassen Sie mich wissen, welche Metadaten über das PDF relevant sind, und ich werde das teilen.
Das hilft mir nicht. Mein grünes Rechteck wird in der betreffenden PDF-Datei gut gezeichnet, meine Zeichenfolge jedoch nicht. Mein Code hat Tausende von PDFs bearbeitet, daher brauche ich diesen Code nicht. Es sei denn, ich verpasse etwas? – JosephGage