Post on 16-Apr-2017
LEGAL DOCUMENTS 2.0
LEGAL DOCUMENTS 2.0 by Peng Zuo
by PENG ZUO
SERAVIA.COM
December 19, 2009
Beware of bugs in the above code; I have only proved it correct, not tried it.
- Donald Knuth
LEGAL DOCUMENTS 2.0 by Peng Zuo
THE LAWYER
LEGAL CONTRACTS
LEGAL DOCUMENTS 2.0 by Peng Zuo
http://seravia.com/research/company-setup/legal-contracts-2-0
Paper
Digital
LaTeX & TeX
Document markup language for the TeX typesetting program
TeX created by Don Knuth
High quality typesetting
Standard for technical fields
Cross-browser compatibility
TeX on version 3.1415926
Free
LEGAL DOCUMENTS 2.0 by Peng Zuo
LaTeX PARTIALS
Similar to HTML partials
Lawyers create the partial templates
System combines TeX files and evaluates all variables
Generate pdf from final TeX file
LEGAL DOCUMENTS 2.0 by Peng Zuo
LaTeX PARTIALS
tex document:\documentclass[12pt]{article}\usepackage{amsmath}\title{\LaTeX}\date{}\begin{document}\maketitle [[partial1]][[partial2]]\end{document}
partial1:\LaTeX{} is a [[x]] for the \TeX{} typesetting program. It offers programmable desktop publishing features and extensive facilities for automating most aspects of typesetting and desktop publishing, including numbering and cross-referencing, tables and figures, page layout, bibliographies, and much more. \LaTeX{} was originally written in [[y]] by [[z]] and has become the dominant method for using \TeX; few people write in plain \TeX{} anymore. The current version is \LaTeXe.
partial2: \begin{align} E &= mc^2 \\ m &= \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}} \end{align}
variables:x = "document preparation system"y = 1984z = "Leslie Lamport"
LEGAL DOCUMENTS 2.0 by Peng Zuo
RTeX
http://rtex.rubyforge.org
RTeX::Document.new(latex_content,{:preprocessor => 'pdflatex', :preprocess => true, :processor => 'pdflatex'}
LEGAL DOCUMENTS 2.0 by Peng Zuo
DELAYED
BackgroundRB
Nanite
Delayed Job
LEGAL DOCUMENTS 2.0 by Peng Zuo
LEGAL DOCUMENTS 2.0 by Peng Zuo
?
DIGITAL SIGNATURES
OpenSSL (openssl.org)
Signer Authentication
Document Authentication
http://seravia.com/research/technology/digital-signatures
LEGAL DOCUMENTS 2.0 by Peng Zuo
The Problem
DIGITAL SIGNATURES
LEGAL DOCUMENTS 2.0 by Peng Zuo
LEGAL DOCUMENTS 2.0 by Peng Zuo
...
LEGAL DOCUMENTS 2.0 by Peng Zuo
LEGAL DOCUMENTS 2.0 by Peng Zuo
SEND HELP
iText
Open source library for creating and manipulating pdf files
Java
LEGAL DOCUMENTS 2.0 by Peng Zuo
iText
LEGAL DOCUMENTS 2.0 by Peng Zuo
Before Filled
After Filled
RJB RUBY JAVA BRIDGE
Ruby
Java
LEGAL DOCUMENTS 2.0 by Peng Zuo
?
RJB RUBY JAVA BRIDGE
Ruby
Java
LEGAL DOCUMENTS 2.0 by Peng Zuo
JRuby
RJB RUBY JAVA BRIDGE
LEGAL DOCUMENTS 2.0 by Peng Zuo
Ruby
Java
RubyJava Library
RJB
RJB RUBY JAVA BRIDGE
LEGAL DOCUMENTS 2.0 by Peng Zuo
require 'rjb'
str = Rjb::import('java.lang.String')
instance = str.new "test"
instance.toString #=> "test"
RJB RUBY JAVA BRIDGE
LEGAL DOCUMENTS 2.0 by Peng Zuo
load_path = File.join(RAILS_ROOT,"iText-2.1.7.jar")
Rjb::load load_path
Rjb::import ... #import java package
Have fun with iText!
LEGAL DOCUMENTS 2.0 by Peng Zuo
STORAGE
Simple
Secure
Speedy
S3
Persistence is always a problem.
PAPERCLIP
LEGAL DOCUMENTS 2.0 by Peng Zuo
http://github.com/thoughtbot/paperclip
PAPERCLIP
SUMMARY
LEGAL DOCUMENTS 2.0 by Peng Zuo
pdf (rtex, iText, rjb, paperclip, s3)
Digital signatures (openSSL)
delayed_job, fax
TeX/LaTeX