The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

WWW::Patent::Page - get a patent page or document (e.g. htm, pdf, tif) from selected source (e.g. from United States Patent and Trademark Office (USPTO) website or the European Patent Office (ESPACE_EP). and place into a WWW::Patent::Page::Response object)

SYNOPSIS

Please see the test suite for working examples. The following is not guaranteed to be working or up-to-date.

  $ perl -I. -MWWW::Patent::Page -e 'print $WWW::Patent::Page::VERSION,"\n"'
  0.02
  
  $ perl get_patent.pl US6123456 > US6123456.pdf &  
  
  (command line interface is included in examples)
  
  http://www.yourdomain.com/www_get_patent_pdf.pl    
  
  (web fetcher is included in examples)

  use WWW::Patent::Page;
  
  print $WWW::Patent::Page::VERSION,"\n";

  my $patent_browser = WWW::Patent::Page->new(); # new object
  
  my $document1 = $patent_document->get_page('6,123,456');
        # defaults:     
        #       office  => 'ESPACE_EP',
        #           country => 'US',
        #           format      => 'pdf',
        #               page    => undef ,  
        # and usual defaults of LWP::UserAgent (subclassed)

  my $document2 = $patent_document->get_page('US6123456', 
                        office  => 'ESPACE_EP' ,
                        format  => 'pdf',
                        page    => 2 ,  #get only the second page
                        );

  my $pages_known = $document2->get_parameter('pages');  #how many total pages known?
                                                

DESCRIPTION

  Intent:  Use public sources to retrieve patent documents such as
  TIFF images of patent pages, html of patents, pdf, etc.
  Expandable for your office of interest by writing new submodules..
  Alpha release by newbie to find if there is any interest

USAGE

  See also SYNOPSIS above
  
     Standard process for building & installing modules:

          perl Build.PL
          ./Build
          ./Build test
          ./Build install

Examples of use:

  $patent_browser = WWW::Patent::Page->new(
                        doc_id  => 'US6,654,321',
                        office  => 'ESPACE_EP' ,
                        format  => 'pdf',
                        page    => undef ,  # returns all pages in one pdf 
                        agent   => 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030516 Mozilla Firebird/0.6',
                        );
        
        $patent_response = $patent_browser->get_patent('US6,654,321(B2)issued_2_Okada');
        
        
  
 

BUGS

Pre-alpha release, to gauge whether the perl community has any interest.

Code contributions, suggestions, and critiques are welcome.

Error handling is undeveloped.

By definition, a non-trivial program contains bugs.

For United States Patents (US) via the USPTO (us), the 'kind' is ignored in method provide_doc

SUPPORT

Yes, please. Checks are best. Or email me at Wanda_B_Anon@yahoo.com to arrange fund transfers.

AUTHOR

        Wanda B. Anon
        Wanda_B_Anon@yahoo.com
        

COPYRIGHT

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

ACKNOWLEDGEMENTS

You, the user (including those already suggesting improvements), Andy Lester, the authors of Finance::Quote, Erik Oliver for patentmailer, Howard P. Katseff of AT&T Laboratories for wsp.pl, version 2, a proxy that speaks LWP and understands proxies, and of course Larry and Randal and the gang.

SEE ALSO

perl(1).

Subroutines

new

NEW instance of the Page class, subclassing LWP::UserAgent

login

login to a server to use its services; obtain a token or session id or the like

country_known

country_known maps the known two letter acronyms to patenting entities, usually countries; country_known returns undef if the two letter acronym is not recognized.

parse_doc_id

Takes a human readable patent/publication identifier and parses it into country/entity, kind, number, type, ...

     CC[TY]##,###,###(V#)Comments
     
     CC : Two letter country/entity code; e.g. US, EP, WO
     TY  : Type of document; one or two letters only of these choices:
                e.g. in US, Kind = Utility is default and no "Kind" is used, e.g. US6123456
                D : Design, e.g. USD339,456
                PP: Plant, e.g. USPP8,901
                RE: Reissue, e.g. USRE35,312
                T : Defensive Publication, e.g. UST109,201
                SIR: Statutory Invention Registration, e.g. USH1,523
      V# : the version number, e.g. A1, B2, etc.; placed in parenthesis
      Comments:  retained but not used- single string of word characters \w = A-z0-9_ (no spaces, "-", commas, etc.)
                

get_page

method to use the modules specific to Offices like USPTO, with methods for each document/page format, etc., and LWP::Agent to grab the appropriate URLs and if necessary build the response content or produce error values

terms

method to provide a summary or pointers to the terms and conditions of use of the publicly available databases

_load_modules

internal private method to access helper modules in WWW::Patent::Page

_agent

private method to assign default agent