座標PDFBox PDFTextStripperByArea領域がどのような寸法及び方向で
PDFTextStripperByArea
の機能addRegion(String regionName, Rectangle2D rect)
に矩形です。すなわち
、矩形R開始とどのように大きなそれが(原点値の大きさ、矩形の寸法)あるず、どのような方向にそれが行くん(青い矢印の方向第2のパラメータとしてnew Rectangle(10,10,100,100)
が与えられている場合は?
座標PDFBox PDFTextStripperByArea領域がどのような寸法及び方向で
PDFTextStripperByArea
の機能addRegion(String regionName, Rectangle2D rect)
に矩形です。すなわち
、矩形R開始とどのように大きなそれが(原点値の大きさ、矩形の寸法)あるず、どのような方向にそれが行くん(青い矢印の方向第2のパラメータとしてnew Rectangle(10,10,100,100)
が与えられている場合は?
new Rectangle(10,10,100,100)
ように10単位の左端とPDF文書の先頭から、矩形の位置(10,10)で、その左上隅を有するであろうことを意味します。ここで「単位」は1pt = 1/72インチである。
最初の100は矩形の幅を表し、2番目の高さはその高さを表します。 要約すると、右の画像が最初の画像です。
私は関数の引数として与えられたページの一部の領域を抽出するために、このコードを書いた:だから、
Rectangle2D region = new Rectangle2D.Double(x, y, width, height);
String regionName = "region";
PDFTextStripperByArea stripper;
stripper = new PDFTextStripperByArea();
stripper.addRegion(regionName, region);
stripper.extractRegions(page);
xとyは長方形の左上隅の絶対座標であり、そしてあなた幅と高さを指定します。 pageは、この関数の引数として与えられるPDPage変数です。
はこのような何かをやってに探していたので、私は私が一緒に見つけたものを渡ししようと思いました。
ここでは、私の元のpdfをitextで作成するためのコードです。
import com.lowagie.text.Document
import com.lowagie.text.Paragraph
import com.lowagie.text.pdf.PdfWriter
class SimplePdfCreator {
void createFrom(String path) {
Document d = new Document()
try {
PdfWriter writer = PdfWriter.getInstance(d, new FileOutputStream(path))
d.open()
d.add(new Paragraph("This is a test."))
d.close()
} catch (Exception e) {
e.printStackTrace()
}
}
}
pdfを開くと、左上隅にテキストが表示されます。ここであなたが探しているものを示すテストです。
@Test
void createFrom_using_pdf_box_to_extract_text_targeted_extraction() {
new SimplePdfCreator().createFrom("myFileLocation")
def doc = PDDocument.load("myFileLocation")
Rectangle2D.Double d = new Rectangle2D.Double(0, 0, 120, 100)
def stripper = new PDFTextStripperByArea()
def pages = doc.getDocumentCatalog().allPages
stripper.addRegion("myRegion", d)
stripper.extractRegions(pages[0])
assert stripper.getTextForRegion("myRegion").contains("This is a test.")
}
位置(0、0)は、ドキュメントの左上隅です。幅と高さは右下に向かっています。私はその範囲を少し下げて(35,52,120,3)、まだテストをパスすることができました。
すべてのコードはgroovyで書かれています。
単位はどれくらいですか? – ipavlic
デフォルトの単位は私が考えるpt(ポイント)です。 –
しかしPDFファイルの 'width' /' height'の合計を決めるには?つまり、PDFファイルの場合、「幅」(「高さ」)の大きさはどれくらいですか? –