Add PDF::Reader::Page#find_text method
parent
e8260726e1
commit
64576a1c7e
|
@ -6,3 +6,4 @@
|
|||
/pkg/
|
||||
/spec/reports/
|
||||
/tmp/
|
||||
/Gemfile.lock
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Pdf::Reader::FindText
|
||||
# PDF::Reader::FindText
|
||||
|
||||
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/pdf/reader/find_text`. To experiment with that code, run `bin/console` for an interactive prompt.
|
||||
|
||||
|
|
|
@ -1,12 +1,18 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require "pdf-reader"
|
||||
|
||||
require_relative "find_text/version"
|
||||
|
||||
module Pdf
|
||||
module Reader
|
||||
module FindText
|
||||
class Error < StandardError; end
|
||||
# Your code goes here...
|
||||
module PDF::Reader::FindText
|
||||
def find_text(text)
|
||||
runs(merge: false).each_cons(text.size).select do |r|
|
||||
r.map(&:text).join == text
|
||||
end.map do |r|
|
||||
PDF::Reader::TextRun.new r.first.x, r.first.y,
|
||||
r.sum(&:width), r.map(&:font_size).max, r.map(&:text).join
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
PDF::Reader::Page.include PDF::Reader::FindText
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Pdf
|
||||
module Reader
|
||||
module PDF
|
||||
class Reader
|
||||
module FindText
|
||||
VERSION = "0.1.0"
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@ require_relative "lib/pdf/reader/find_text/version"
|
|||
|
||||
Gem::Specification.new do |spec|
|
||||
spec.name = "pdf-reader-find_text"
|
||||
spec.version = Pdf::Reader::FindText::VERSION
|
||||
spec.version = PDF::Reader::FindText::VERSION
|
||||
spec.authors = ["Guillaume Dott"]
|
||||
spec.email = ["guillaume+github@dott.fr"]
|
||||
|
||||
|
@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
|
|||
spec.require_paths = ["lib"]
|
||||
|
||||
# Uncomment to register a new dependency of your gem
|
||||
# spec.add_dependency "example-gem", "~> 1.0"
|
||||
spec.add_dependency "pdf-reader", "~> 2.9.2"
|
||||
|
||||
# For more information and examples about making a new gem, checkout our
|
||||
# guide at: https://bundler.io/guides/creating_gem.html
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
require "test_helper"
|
||||
|
||||
class Pdf::Reader::FindTextTest < Minitest::Test
|
||||
class PDF::Reader::FindTextTest < Minitest::Test
|
||||
def test_that_it_has_a_version_number
|
||||
refute_nil ::Pdf::Reader::FindText::VERSION
|
||||
refute_nil ::PDF::Reader::FindText::VERSION
|
||||
end
|
||||
|
||||
def test_it_does_something_useful
|
||||
|
|
Loading…
Reference in New Issue