Trong văn bản, tôi có một đoạn/cụm từ/đoạn (Tôi không quan tâm) và tôi muốn định vị một số vị trí khác trên trang, ví dụ: ở mức 300 x 200. Tôi sẽ làm như thế nào?văn bản định vị văn bản hoàn toàn
Trả lời
Cuối cùng tôi đã viết phương pháp của riêng mình để làm điều đó.
private void PlaceChunck(String text, int x, int y) {
PdfContentByte cb = writer.DirectContent;
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.SaveState();
cb.BeginText();
cb.MoveText(x, y);
cb.SetFontAndSize(bf, 12);
cb.ShowText(text);
cb.EndText();
cb.RestoreState();
}
Dưới đây là một phiên bản với tất cả các vỏ đúng và thử/catch block:
private static void absText(String text, int x, int y) {
try {
PdfContentByte cb = writer.getDirectContent();
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.saveState();
cb.beginText();
cb.moveText(x, y);
cb.setFontAndSize(bf, 12);
cb.showText(text);
cb.endText();
cb.restoreState();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
lỗi writer.getDirectContent() nếu tôi đã sử dụng Document document = new Document(); Thời gian phông chữ = null; // bước 2 PdfWriter writer; \t \t thử { \t \t \t writer = PdfWriter.getInstance (tài liệu, FileOutputStream mới (đường dẫn)); \t \t thì nó đã tạo tài liệu mới và tôi sẽ không cùng tài liệu với chức năng chỉnh sửa –
tôi một cái gì đó dọc theo những dòng này, có thể nó sẽ giúp đỡ người khác:
ColumnText ct = new ColumnText(writer.getDirectContent());
ct.setSimpleColumn(left,bottom,right,top);
ct.setText(new Phrase("String"));
ct.go();
p là gì? Bạn có thể giải thích nó được không ? –
Xin lỗi, nó phải là 'ct' –
Trong tôi trường hợp chỉ có giải pháp này làm việc tốt.
PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream(FILE));
Add phương pháp
private void addTextData(Document document, String text) {
PdfContentByte cb = pdfWriter.getDirectContent();
cb.beginText();
try {
BaseFont f_cn = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.setFontAndSize(f_cn, 40);
float requiredX = 50;
float requiredY = 50;
Paint paint = new Paint();
paint.setTextSize(40);
Typeface typeface=Typeface.createFromAsset(getAssets(), "Helvetica.ttf");
paint.setTypeface(typeface);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.FILL);
Rect result = new Rect();
paint.getTextBounds(text, 0, text.length(), result);
Log.i("Text dimensions", "Width: "+result.width()+"-Height: "+result.height());
float calculatedY = document.getPageSize().getHeight() - result.height() - requiredY;
cb.setTextMatrix(requiredX, calculatedY);
cb.showText(text);
cb.endText();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Điều này sẽ giúp bạn biết chắc chắn.
- 1. HTML5 SVG - Định vị Văn bản
- 2. Định vị văn bản Raphael js: định tâm văn bản trong một vòng tròn
- 3. Hộp văn bản hoàn toàn tự động trong Java Swing
- 4. Xác định vị trí địa lý trong văn bản
- 5. JCheckbox thay đổi vị trí văn bản
- 6. Cách định vị và bao bọc văn bản dài?
- 7. Văn bản thay thế hình ảnh định vị
- 8. Văn bản vị trí trong một NSTextField
- 9. Process.Start chỉ định văn bản
- 10. Tìm kiếm toàn văn bản với Rails
- 11. Thêm văn bản vị trí tuyệt đối
- 12. Xác định dấu mũ/Lựa chọn bên trong DIV, Hộp văn bản, Văn bản, v.v.
- 13. văn bản nhiều dòng văn bản trong hộp giới hạn
- 14. Nút Đăng nhập Facebook văn bản tùy chỉnh hoàn nguyên
- 15. Chèn văn bản vào hộp văn bản WPF ở vị trí dấu mũ
- 16. Văn bản vị trí bên trong vùng văn bản trong FireFox
- 17. Chèn văn bản sau vị trí con trỏ trong văn bản là
- 18. Thay đổi màu văn bản trong trường văn bản
- 19. cách thêm văn bản có định dạng vào văn bản chỉnh sửa?
- 20. Nhận văn bản thuần tuý từ văn bản RTF
- 21. WPF: Lấy văn bản "gói" ra khỏi hộp văn bản
- 22. Khối văn bản dài trong văn bản Jade?
- 23. JasperReport - văn bản quấn để hiển thị văn bản dài trong trường văn bản
- 24. Chèn văn bản UITextView vào văn bản dạng xem văn bản
- 25. tìm vị trí {x, y} của văn bản trong uilabel
- 26. UIWebView iPhone - Có thể tắt hoàn toàn tự động trên trường văn bản nhập liệu không?
- 27. Văn bản định hướng dọc trong css
- 28. Văn bản mặc định khi nhập
- 29. cách xác định mã hóa văn bản
- 30. Solr "Văn bản trường chưa xác định"
Xin chào. Nó có hỗ trợ dòng mới không? – KarolDepka
Tôi sẽ không downvote câu trả lời này, nhưng tôi không thích nó. Câu hỏi đặt ra là: làm thế nào để tôi định vị một đoạn, cụm từ, đoạn văn. Câu trả lời đúng là: bằng cách sử dụng ColumnText. Hoặc bạn có thể sử dụng phương thức showTextAligned() (chỉ đối với các đối tượng Phrase), hoặc bạn có thể sử dụng một cá thể ColumnText và phương thức go() nếu bạn cần hỗ trợ cho các dòng mới và/hoặc các đối tượng khác với Cụm từ. –
@BrunoLowagie - làm thế nào về một câu trả lời đầy đủ sau đó? Sẽ rất hữu ích khi xem giải thích đúng cách. –