Ich versuche Code folgen, aber im pdf kann der „Beispieltext“ noch ausgewählt werden. Wie ich meinen Code verbessere, thk.
Zeichenfolge fileName = DateTime.Now.ToString();
MemoryStream outputStream = new MemoryStream();//
Document doc = new Document((PageSize.A5.Rotate()));//
PdfDestination pdfDest = new PdfDestination(PdfDestination.FIT);
PdfWriter writer = PdfWriter.GetInstance(doc, outputStream);
doc.Open();
PdfContentByte cb = writer.DirectContent;
cb.BeginText();
cb.SetFontAndSize(BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false), 10f);
cb.SetTextMatrix(1.2f, 9.5f);
cb.ShowText("Sample text");
cb.EndText();
doc.Close();
outputStream.Close();
Response.ContentType = "application/pdf";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("content-disposition", "attachment;filename=" + fileName + ".pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.OutputStream.Write(outputStream.GetBuffer(), 0, outputStream.GetBuffer().Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Ihr PDF enthält keinen Text außer den "39 - 39" am unteren Rand. Dies erklärt, warum Text (außer "39 - 39") nicht ausgewählt werden kann und keine speziellen Schriftarten benötigt werden. Was es stattdessen enthält, sind viele Vektorgrafiken, die etwas zeichnen, was wie Text aussieht. Sie müssen also nur die "PdfContentByte" -Methoden zum Zeichnen von Vektorgrafiken, zum Zeichnen und Füllen von Pfaden und zum Malen Ihrer gewünschten PDF-Inhalte verwenden. – mkl
Thks Ihre Antwort! Ich versuche folgenden Code, aber in der PDF kann der "Beispieltext" noch ausgewählt werden. Wie ich meinen Code verbessere, thk. @mkl – Jiang
In Ihrem Beispiel verwenden Sie immer noch Textoperationen. Textoperationen erfordern Schriftarten. Das Beispieldokument verwendet keine Textoperationen. Es verwendet Operationen wie ** moveTo **, ** lineTo **, ** curveTo ** und ** fill **, um Text zu malen. Um etwas wie dieses Beispiel zu erstellen, verwenden Sie diese Operationen, um Inhalt zu zeichnen. – mkl