Spire.PDFViewer 7.12.6のリリースをお知らせいたします。このバージョンでは、マウスをクリックしたときに PDF ページのコンテンツに対応する座標を取得するためのサポートが追加されています。詳細は以下の内容を読んでください。
このリリースで行われた変更のリストは次のとおりです
カテゴリー | ID | 説明 |
New feature | SPIREPDFVIEWER-454 | マウスをクリックしたときに PDF ページのコンテンツに対応する座標を取得するためのサポートが追加されています。
private void Form1_Load(object sender, EventArgs e) { this.pdfDocumentViewer1.LoadFromFile("1.pdf"); this.pdfDocumentViewer1.MouseDown += new MouseEventHandler(PV_Click); } private void PV_Click(object sender, MouseEventArgs e) { string outputFile = "out.Pdf"; string outputFile_TXT = "out.txt"; File.Delete(outputFile_TXT); if (e.Button == MouseButtons.Left) { PointF[] controlPositions = new PointF[] { e.Location}; Spire.PdfViewer.Forms.PagePosition[] pagePositions = this.pdfDocumentViewer1.ControlToPage(controlPositions); string fileName = this.pdfDocumentViewer1.FileName; PdfDocument doc = new PdfDocument(); doc.LoadFromFile(fileName,FileFormat.PDF); PdfPageBase page = doc.Pages[pagePositions[0].PageIndex]; RectangleF bounds = new RectangleF(pagePositions[0].Position, new SizeF(100, 100)); PdfTextExtractor textExtractor = new PdfTextExtractor(page); PdfTextExtractOptions option = new PdfTextExtractOptions(); option.ExtractArea = bounds; string text = textExtractor.ExtractText(option); PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 11); PdfTextWidget pdfTextbox = new PdfTextWidget(); pdfTextbox.Font = font; pdfTextbox.Brush = PdfBrushes.Red; pdfTextbox.Text = "stamp"; pdfTextbox.Draw(page, bounds); doc.Pages[pagePositions[0].PageIndex].Canvas.DrawRectangle(PdfPens.Red, bounds); doc.SaveToFile(outputFile); File.AppendAllText(outputFile_TXT, "Position: " + pagePositions[0].Position.ToString() + "\ntext:\r\n " + text); MessageBox.Show("finish"); doc.Dispose(); } } |
ここで Spire.PDFViewer 7.12.6をダウンロードする