Add certificate generator tool (close #3)
This commit is contained in:
parent
aa60e9f7cf
commit
f22eb52113
@ -118,6 +118,37 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="certificateBuilderModal" tabindex="-1" aria-labelledby="certificateBuilderModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xl">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="certificateBuilderModalLabel">Notarial Certificate Builder</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
State: <select class="form-control" id="cert_state"></select>
|
||||
County: <input class="form-control" type="text" id="cert_county" />
|
||||
Signer: <input class="form-control" type="text" id="cert_signer" />
|
||||
|
||||
Notarial act: <select class="form-control" id="cert_act">
|
||||
<option value="acknowledged">Acknowledgement ("acknowledged")</option>
|
||||
<option value="signed">Signature Witness ("signed")</option>
|
||||
<option value="signed and sworn to">Jurat/Verification on oath ("signed and sworn to")</option>
|
||||
<option value="signed and affirmed to">Jurat/Verification on affirmation ("signed and affirmed to")</option>
|
||||
<option value="CERTIFIEDCOPYELECTRONIC">Certified copy of electronic record</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img id="certificate-preview" style="width: 6in; height: 4in;"/>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-primary" data-bs-dismiss="modal" onclick="certificateBuilderCallback()">Apply</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card d-flex flex-column h-100">
|
||||
<div class="card-body">
|
||||
<div class="btn-toolbar d-inline-block" role="toolbar">
|
||||
@ -142,6 +173,7 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<div class="btn btn-primary" onclick="activateClientSignaturePad()"><i class="fas fa-file-signature"></i> Sign (Client)</div>
|
||||
<div class="btn btn-primary" onclick="activateNotarySignatureTool()"><i class="fas fa-file-signature"></i> Sign (Notary)</div>
|
||||
<div class="btn btn-primary" onclick="activateTextTool()"><i class="fas fa-font"></i> Add Text</div>
|
||||
<div class="btn btn-primary" onclick="activateNotaryCertificateTool()"><i class="fas fa-sticky-note"></i> Add Certificate</div>
|
||||
<div class="btn btn-primary" onclick="disableGuideBox()">Cancel</div>
|
||||
</div>
|
||||
<div class="btn-group mb-2" role="group" aria-label="Fourth group">
|
||||
@ -167,10 +199,12 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<script src="node_modules/signature_pad/dist/signature_pad.umd.min.js"></script>
|
||||
<script src="js/kbpgp-2.1.15.js"></script>
|
||||
<script src="js/svg-to-image.js"></script>
|
||||
<script src="js/data.js"></script>
|
||||
<script src="js/util.js"></script>
|
||||
<script src="js/storage.js"></script>
|
||||
<script src="js/filesystem.js"></script>
|
||||
<script src="js/crypto.js"></script>
|
||||
<script src="js/certbuilder.js"></script>
|
||||
<script src="js/drawtools.js"></script>
|
||||
<script src="js/pdf.js"></script>
|
||||
<script src="js/main.js"></script>
|
61
src/js/certbuilder.js
Normal file
61
src/js/certbuilder.js
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright 2021 Netsyms Technologies.
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
function getCertificateSvg(callback) {
|
||||
var path = getStorage("notary_state") + "/generic.svg";
|
||||
var act = $("#certificateBuilderModal #cert_act option:selected").val();
|
||||
|
||||
if (act == "CERTIFIEDCOPYELECTRONIC") {
|
||||
path = getStorage("notary_state") + "/certifiedcopyelectronic.svg";
|
||||
}
|
||||
getCertificateSvgWithValues(path, {
|
||||
name: getStorage("notary_name"),
|
||||
location: getStorage("notary_location"),
|
||||
expires: getStorage("notary_expires"),
|
||||
idnumber: getStorage("notary_idnumber"),
|
||||
state: $("#certificateBuilderModal #cert_state option:selected").val(),
|
||||
county: $("#certificateBuilderModal #cert_county").val(),
|
||||
act: act,
|
||||
date: formatTimestamp("F j, Y"),
|
||||
signer: $("#certificateBuilderModal #cert_signer").val(),
|
||||
pagecount: $("#page-canvas-container .page-canvas").length,
|
||||
doctitle: pdfTitle == "" ? "(untitled)" : pdfTitle
|
||||
}, callback);
|
||||
}
|
||||
|
||||
function getCertificateSvgWithValues(path, values, callback) {
|
||||
$.get("templates/certificates/" + path, {}, function (svg) {
|
||||
svg = svg + "";
|
||||
for (const key in values) {
|
||||
svg = svg.replaceAll("[[[" + key.toUpperCase() + "]]]", values[key]);
|
||||
}
|
||||
|
||||
callback(svg);
|
||||
}, "text");
|
||||
}
|
||||
|
||||
function initCertificateBuilder() {
|
||||
/**
|
||||
* Load state dropdown with default of notary state
|
||||
*/
|
||||
$("#cert_state").html("");
|
||||
for (const abbrev in STATE_ABBREV) {
|
||||
var selected = "";
|
||||
if (abbrev == getStorage("notary_state").toUpperCase()) {
|
||||
selected = " selected";
|
||||
}
|
||||
$("#cert_state").append("<option value=\"" + STATE_ABBREV[abbrev] + "\"" + selected + ">" + STATE_ABBREV[abbrev] + "</option>");
|
||||
}
|
||||
|
||||
new bootstrap.Modal(document.getElementById('certificateBuilderModal')).show();
|
||||
}
|
||||
|
||||
$("body").on("input change paste select", "#certificateBuilderModal input,#certificateBuilderModal select", function () {
|
||||
getCertificateSvg(function (svg) {
|
||||
$("#certificateBuilderModal #certificate-preview").attr("src", "data:image/svg+xml;base64," + btoa(svg));
|
||||
});
|
||||
});
|
61
src/js/data.js
Normal file
61
src/js/data.js
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright 2021 Netsyms Technologies.
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
|
||||
const STATE_ABBREV = {
|
||||
"AL": "Alabama",
|
||||
"AK": "Alaska",
|
||||
"AZ": "Arizona",
|
||||
"AR": "Arkansas",
|
||||
"CA": "California",
|
||||
"CO": "Colorado",
|
||||
"CT": "Connecticut",
|
||||
"DE": "Delaware",
|
||||
"DC": "District of Columbia",
|
||||
"FL": "Florida",
|
||||
"GA": "Georgia",
|
||||
"HI": "Hawaii",
|
||||
"ID": "Idaho",
|
||||
"IL": "Illinois",
|
||||
"IN": "Indiana",
|
||||
"IA": "Iowa",
|
||||
"KS": "Kansas",
|
||||
"KY": "Kentucky",
|
||||
"LA": "Louisiana",
|
||||
"ME": "Maine",
|
||||
"MD": "Maryland",
|
||||
"MA": "Massachusetts",
|
||||
"MI": "Michigan",
|
||||
"MN": "Minnesota",
|
||||
"MS": "Mississippi",
|
||||
"MO": "Missouri",
|
||||
"MT": "Montana",
|
||||
"NE": "Nebraska",
|
||||
"NV": "Nevada",
|
||||
"NH": "New Hampshire",
|
||||
"NJ": "New Jersey",
|
||||
"NM": "New Mexico",
|
||||
"NY": "New York",
|
||||
"NC": "North Carolina",
|
||||
"ND": "North Dakota",
|
||||
"OH": "Ohio",
|
||||
"OK": "Oklahoma",
|
||||
"OR": "Oregon",
|
||||
"PA": "Pennsylvania",
|
||||
"RI": "Rhode Island",
|
||||
"SC": "South Carolina",
|
||||
"SD": "South Dakota",
|
||||
"TN": "Tennessee",
|
||||
"TX": "Texas",
|
||||
"UT": "Utah",
|
||||
"VT": "Vermont",
|
||||
"VA": "Virginia",
|
||||
"WA": "Washington",
|
||||
"WV": "West Virginia",
|
||||
"WI": "Wisconsin",
|
||||
"WY": "Wyoming"
|
||||
};
|
@ -90,6 +90,23 @@ function activateNotarySignatureTool() {
|
||||
});
|
||||
}
|
||||
|
||||
function activateNotaryCertificateTool() {
|
||||
initCertificateBuilder();
|
||||
|
||||
certificateBuilderCallback = function () {
|
||||
getCertificateSvg(function (svg) {
|
||||
svgToImage(svg, function (err, image) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
activeDrawImage = image;
|
||||
enableGuideBox(image);
|
||||
});
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
function activateClientSignaturePad() {
|
||||
initSignaturePad();
|
||||
signaturePadCallback = function () {
|
||||
|
@ -11,14 +11,27 @@ var pdfPageScale = 3;
|
||||
var pdfAssumedDPI = 72;
|
||||
var pdfDoc = null;
|
||||
var pageNumber = 0;
|
||||
var pdfTitle = "";
|
||||
|
||||
function addPDF() {
|
||||
openFileDialog(function (path) {
|
||||
var filedata = getFileAsUint8Array(path);
|
||||
|
||||
// Get filename
|
||||
// https://stackoverflow.com/a/424006
|
||||
pdfTitle = path.split('\\').pop().split('/').pop();
|
||||
|
||||
pdfjsLib.getDocument(filedata).promise.then(function (pdfDoc_) {
|
||||
pdfDoc = pdfDoc_;
|
||||
|
||||
pdfDoc.getMetadata().then(function (meta) {
|
||||
if (typeof meta.contentDispositionFilename == "string") {
|
||||
pdfTitle = meta.contentDispositionFilename;
|
||||
}
|
||||
}).catch(function (err) {
|
||||
console.log('Error getting PDF metadata: ', err);
|
||||
});
|
||||
|
||||
renderAllPages(pdfDoc);
|
||||
pdfZoom("fitwidth");
|
||||
// Initial/first page rendering
|
||||
|
360
src/templates/certificates/mt/certifiedcopyelectronic.svg
Normal file
360
src/templates/certificates/mt/certifiedcopyelectronic.svg
Normal file
@ -0,0 +1,360 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="6in"
|
||||
height="4in"
|
||||
version="1.1"
|
||||
viewBox="0 0 152.4 101.6"
|
||||
id="svg94"
|
||||
sodipodi:docname="certifiedcopyelectronic.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata98">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1013"
|
||||
id="namedview96"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.7383042"
|
||||
inkscape:cx="235.38315"
|
||||
inkscape:cy="172.54422"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg94" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<path
|
||||
id="b"
|
||||
d="m4.3999 289.29a9.9893 9.9893 0 0 0 8.651 4.9947 9.9893 9.9893 0 0 0 8.651-4.9947"
|
||||
fill="none" />
|
||||
<path
|
||||
id="a"
|
||||
d="m4.9972 280.6a9.2996 10.003 0 0 1 8.0537-5.0017 9.2996 10.003 0 0 1 8.0537 5.0017"
|
||||
fill="none" />
|
||||
</defs>
|
||||
<rect
|
||||
x="3.5784"
|
||||
y="3.44"
|
||||
width="145.24"
|
||||
height="94.724"
|
||||
rx=".52917"
|
||||
ry=".52917"
|
||||
fill="none"
|
||||
stroke="#000"
|
||||
stroke-width=".52624"
|
||||
id="rect6" />
|
||||
<text
|
||||
x="43.296432"
|
||||
y="13.543543"
|
||||
fill="#000000"
|
||||
font-family="Ubuntu"
|
||||
font-size="5.6133px"
|
||||
letter-spacing=".26312px"
|
||||
stroke-width=".26312px"
|
||||
word-spacing="0px"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text10"><tspan
|
||||
x="43.296432"
|
||||
y="13.543543"
|
||||
font-size="5.6133px"
|
||||
stroke-width=".26312px"
|
||||
id="tspan8">NOTARIAL CERTIFICATE</tspan></text>
|
||||
<g
|
||||
transform="translate(8.2522 -218.01)"
|
||||
id="g72">
|
||||
<rect
|
||||
x=".24462"
|
||||
y="271.84"
|
||||
width="63.011"
|
||||
height="24.911"
|
||||
fill="none"
|
||||
stroke="#000"
|
||||
stroke-width=".48924"
|
||||
id="rect12" />
|
||||
<text
|
||||
x="44.025459"
|
||||
y="275.92871"
|
||||
fill="#000000"
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="3.5278px"
|
||||
letter-spacing=".052917px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
word-spacing="0px"
|
||||
style="line-height:89.99999762%"
|
||||
xml:space="preserve"
|
||||
id="text28"><tspan
|
||||
x="44.051918"
|
||||
y="275.92871"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan14">[[[NAME]]]</tspan><tspan
|
||||
x="44.051918"
|
||||
y="279.1037"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan16">Notary Public for the</tspan><tspan
|
||||
x="44.051918"
|
||||
y="282.27872"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan18">State of Montana</tspan><tspan
|
||||
x="44.051918"
|
||||
y="285.4537"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan20">Residing at</tspan><tspan
|
||||
x="44.051918"
|
||||
y="288.62872"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan22">[[[LOCATION]]]</tspan><tspan
|
||||
x="44.051918"
|
||||
y="291.80371"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan24">My Commission Expires</tspan><tspan
|
||||
x="44.051918"
|
||||
y="294.9787"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan26">[[[EXPIRES]]]</tspan></text>
|
||||
<g
|
||||
transform="translate(1.2654e-7 -.016449)"
|
||||
font-family="Ubuntu"
|
||||
letter-spacing=".052917px"
|
||||
stroke-width=".26458px"
|
||||
text-anchor="middle"
|
||||
word-spacing="0px"
|
||||
id="g38">
|
||||
<text
|
||||
x="13.02184"
|
||||
y="287.62936"
|
||||
font-size="3.5278px"
|
||||
text-align="center"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text32"><tspan
|
||||
x="13.048299"
|
||||
y="287.62936"
|
||||
font-size="3.5278px"
|
||||
letter-spacing=".052917px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
id="tspan30">SEAL</tspan></text>
|
||||
<text
|
||||
x="12.974876"
|
||||
y="282.86688"
|
||||
font-size="2.4694px"
|
||||
text-align="center"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text36"><tspan
|
||||
x="13.001334"
|
||||
y="282.86688"
|
||||
font-size="2.4694px"
|
||||
letter-spacing=".052917px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
id="tspan34">Notarial</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
fill="none"
|
||||
id="g50">
|
||||
<circle
|
||||
cx="13.051"
|
||||
cy="284.3"
|
||||
r="7.362"
|
||||
stroke="#000"
|
||||
stroke-dasharray="0.254, 0.254"
|
||||
stroke-width=".254"
|
||||
id="circle40" />
|
||||
<g
|
||||
stroke="#000"
|
||||
id="g46">
|
||||
<circle
|
||||
cx="13.051"
|
||||
cy="284.3"
|
||||
r="11.139"
|
||||
stroke-width=".254"
|
||||
id="circle42" />
|
||||
<circle
|
||||
cx="13.051"
|
||||
cy="284.3"
|
||||
r="11.301"
|
||||
stroke-dasharray="0.762, 0.381"
|
||||
stroke-width=".381"
|
||||
id="circle44" />
|
||||
</g>
|
||||
<path
|
||||
d="m4.3999 289.29a9.9893 9.9893 0 0 0 8.651 4.9947 9.9893 9.9893 0 0 0 8.651-4.9947"
|
||||
id="path48" />
|
||||
</g>
|
||||
<text
|
||||
transform="rotate(-1.5305,13.012,288.47)"
|
||||
fill="#000000"
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="2.8222px"
|
||||
letter-spacing=".13229px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
word-spacing="0px"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text56"><textPath
|
||||
startOffset="50%"
|
||||
xlink:href="#b"
|
||||
id="textPath54"><tspan
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="2.8222px"
|
||||
letter-spacing=".13229px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
id="tspan52">State of Montana</tspan></textPath></text>
|
||||
<text
|
||||
transform="rotate(1.0275,-16.556,287.48)"
|
||||
x="0.28497145"
|
||||
fill="#000000"
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="2.8222px"
|
||||
letter-spacing=".13229px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
word-spacing="0px"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text62"><textPath
|
||||
startOffset="50%"
|
||||
xlink:href="#a"
|
||||
id="textPath60"><tspan
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="2.8222px"
|
||||
letter-spacing=".13229px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
id="tspan58">[[[NAME]]]</tspan></textPath></text>
|
||||
<path
|
||||
d="m4.9972 280.6a9.2996 10.003 0 0 1 8.0537-5.0017 9.2996 10.003 0 0 1 8.0537 5.0017"
|
||||
fill="none"
|
||||
id="path64" />
|
||||
<g
|
||||
transform="translate(.064683 .27)"
|
||||
stroke="#000"
|
||||
stroke-width=".254"
|
||||
id="g70">
|
||||
<path
|
||||
transform="matrix(.60047 -.042277 .042277 .60047 -3.9596 113.82)"
|
||||
d="m-5.6196 282.72-0.77787 0.6826 0.12132 1.0278-0.88957-0.52886-0.93997 0.43298 0.22809-1.0094-0.70226-0.76017 1.0305-0.095 0.50595-0.90279 0.40882 0.95073z"
|
||||
id="path66" />
|
||||
<path
|
||||
transform="matrix(.60047 -.042277 .042277 .60047 14.561 113.82)"
|
||||
d="m-5.6196 282.72-0.77787 0.6826 0.12132 1.0278-0.88957-0.52886-0.93997 0.43298 0.22809-1.0094-0.70226-0.76017 1.0305-0.095 0.50595-0.90279 0.40882 0.95073z"
|
||||
id="path68" />
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
id="text78"
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52780008px;line-height:120.00000477%;font-family:Ubuntu;letter-spacing:0.26458001px;word-spacing:0px;stroke-width:0.26458001px"
|
||||
font-size="3.5278px"
|
||||
y="20.984198"
|
||||
x="8.1357985"><tspan
|
||||
id="tspan74"
|
||||
style="line-height:120.00000477%"
|
||||
y="20.984198"
|
||||
x="8.1357985">State of [[[STATE]]]</tspan><tspan
|
||||
id="tspan76"
|
||||
style="line-height:120.00000477%"
|
||||
y="25.217531"
|
||||
x="8.1357985">County of [[[COUNTY]]]</tspan></text>
|
||||
<text
|
||||
id="text82"
|
||||
xml:space="preserve"
|
||||
style="font-size:3.52780008px;line-height:0.25;font-family:Ubuntu;letter-spacing:0.26458001px;word-spacing:0px;stroke-width:0.26458001px"
|
||||
font-size="3.5278px"
|
||||
y="35.60997"
|
||||
x="8.1957703"><tspan
|
||||
id="tspan80"
|
||||
style="line-height:0.25"
|
||||
y="35.60997"
|
||||
x="8.1957703" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52777767px;line-height:120.00000477%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0.26458332px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="8.1005211"
|
||||
y="32.026829"
|
||||
id="text934"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan932"
|
||||
x="8.1005211"
|
||||
y="32.026829"
|
||||
style="line-height:120.00000477%;stroke-width:0.26458332px">I certify that this record, titled [[[DOCTITLE]]]</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="8.1005211"
|
||||
y="36.260162"
|
||||
style="line-height:120.00000477%;stroke-width:0.26458332px"
|
||||
id="tspan936">and consisting of [[[PAGECOUNT]]] pages is a true and correct copy of an</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="8.1005211"
|
||||
y="40.493496"
|
||||
style="line-height:120.00000477%;stroke-width:0.26458332px"
|
||||
id="tspan940">electronic record printed directly from the electronic file by me</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="8.1005211"
|
||||
y="44.72683"
|
||||
style="line-height:120.00000477%;stroke-width:0.26458332px"
|
||||
id="tspan942">on [[[DATE]]].</tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.31908524;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect863"
|
||||
width="57.991142"
|
||||
height="0.5534333"
|
||||
x="80.822304"
|
||||
y="73.140518"
|
||||
rx="0.52916932"
|
||||
ry="0.52916932" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;line-height:100%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0.13229167px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="97.82267"
|
||||
y="76.746086"
|
||||
id="text867"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan865"
|
||||
x="97.82267"
|
||||
y="76.746086"
|
||||
style="font-size:2.46944451px;letter-spacing:0.13229167px;stroke-width:0.26458332px">(notarial signature)</tspan></text>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
359
src/templates/certificates/mt/generic.svg
Normal file
359
src/templates/certificates/mt/generic.svg
Normal file
@ -0,0 +1,359 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="6in"
|
||||
height="4in"
|
||||
version="1.1"
|
||||
viewBox="0 0 152.4 101.6"
|
||||
id="svg94"
|
||||
sodipodi:docname="generic.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata98">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1013"
|
||||
id="namedview96"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.7383042"
|
||||
inkscape:cx="347.49625"
|
||||
inkscape:cy="41.194218"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg94" />
|
||||
<defs
|
||||
id="defs4">
|
||||
<path
|
||||
id="b"
|
||||
d="m4.3999 289.29a9.9893 9.9893 0 0 0 8.651 4.9947 9.9893 9.9893 0 0 0 8.651-4.9947"
|
||||
fill="none" />
|
||||
<path
|
||||
id="a"
|
||||
d="m4.9972 280.6a9.2996 10.003 0 0 1 8.0537-5.0017 9.2996 10.003 0 0 1 8.0537 5.0017"
|
||||
fill="none" />
|
||||
</defs>
|
||||
<rect
|
||||
x="3.5784"
|
||||
y="3.44"
|
||||
width="145.24"
|
||||
height="94.724"
|
||||
rx=".52917"
|
||||
ry=".52917"
|
||||
fill="none"
|
||||
stroke="#000"
|
||||
stroke-width=".52624"
|
||||
id="rect6" />
|
||||
<text
|
||||
x="43.296432"
|
||||
y="13.543543"
|
||||
fill="#000000"
|
||||
font-family="Ubuntu"
|
||||
font-size="5.6133px"
|
||||
letter-spacing=".26312px"
|
||||
stroke-width=".26312px"
|
||||
word-spacing="0px"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text10"><tspan
|
||||
x="43.296432"
|
||||
y="13.543543"
|
||||
font-size="5.6133px"
|
||||
stroke-width=".26312px"
|
||||
id="tspan8">NOTARIAL CERTIFICATE</tspan></text>
|
||||
<g
|
||||
transform="translate(8.2522 -218.01)"
|
||||
id="g72">
|
||||
<rect
|
||||
x=".24462"
|
||||
y="271.84"
|
||||
width="63.011"
|
||||
height="24.911"
|
||||
fill="none"
|
||||
stroke="#000"
|
||||
stroke-width=".48924"
|
||||
id="rect12" />
|
||||
<text
|
||||
x="44.025459"
|
||||
y="275.92871"
|
||||
fill="#000000"
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="3.5278px"
|
||||
letter-spacing=".052917px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
word-spacing="0px"
|
||||
style="line-height:89.99999762%"
|
||||
xml:space="preserve"
|
||||
id="text28"><tspan
|
||||
x="44.051918"
|
||||
y="275.92871"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan14">[[[NAME]]]</tspan><tspan
|
||||
x="44.051918"
|
||||
y="279.1037"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan16">Notary Public for the</tspan><tspan
|
||||
x="44.051918"
|
||||
y="282.27872"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan18">State of Montana</tspan><tspan
|
||||
x="44.051918"
|
||||
y="285.4537"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan20">Residing at</tspan><tspan
|
||||
x="44.051918"
|
||||
y="288.62872"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan22">[[[LOCATION]]]</tspan><tspan
|
||||
x="44.051918"
|
||||
y="291.80371"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan24">My Commission Expires</tspan><tspan
|
||||
x="44.051918"
|
||||
y="294.9787"
|
||||
text-align="center"
|
||||
style="line-height:89.99999762%"
|
||||
id="tspan26">[[[EXPIRES]]]</tspan></text>
|
||||
<g
|
||||
transform="translate(1.2654e-7 -.016449)"
|
||||
font-family="Ubuntu"
|
||||
letter-spacing=".052917px"
|
||||
stroke-width=".26458px"
|
||||
text-anchor="middle"
|
||||
word-spacing="0px"
|
||||
id="g38">
|
||||
<text
|
||||
x="13.02184"
|
||||
y="287.62936"
|
||||
font-size="3.5278px"
|
||||
text-align="center"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text32"><tspan
|
||||
x="13.048299"
|
||||
y="287.62936"
|
||||
font-size="3.5278px"
|
||||
letter-spacing=".052917px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
id="tspan30">SEAL</tspan></text>
|
||||
<text
|
||||
x="12.974876"
|
||||
y="282.86688"
|
||||
font-size="2.4694px"
|
||||
text-align="center"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text36"><tspan
|
||||
x="13.001334"
|
||||
y="282.86688"
|
||||
font-size="2.4694px"
|
||||
letter-spacing=".052917px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
id="tspan34">Notarial</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
fill="none"
|
||||
id="g50">
|
||||
<circle
|
||||
cx="13.051"
|
||||
cy="284.3"
|
||||
r="7.362"
|
||||
stroke="#000"
|
||||
stroke-dasharray="0.254, 0.254"
|
||||
stroke-width=".254"
|
||||
id="circle40" />
|
||||
<g
|
||||
stroke="#000"
|
||||
id="g46">
|
||||
<circle
|
||||
cx="13.051"
|
||||
cy="284.3"
|
||||
r="11.139"
|
||||
stroke-width=".254"
|
||||
id="circle42" />
|
||||
<circle
|
||||
cx="13.051"
|
||||
cy="284.3"
|
||||
r="11.301"
|
||||
stroke-dasharray="0.762, 0.381"
|
||||
stroke-width=".381"
|
||||
id="circle44" />
|
||||
</g>
|
||||
<path
|
||||
d="m4.3999 289.29a9.9893 9.9893 0 0 0 8.651 4.9947 9.9893 9.9893 0 0 0 8.651-4.9947"
|
||||
id="path48" />
|
||||
</g>
|
||||
<text
|
||||
transform="rotate(-1.5305,13.012,288.47)"
|
||||
fill="#000000"
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="2.8222px"
|
||||
letter-spacing=".13229px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
word-spacing="0px"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text56"><textPath
|
||||
startOffset="50%"
|
||||
xlink:href="#b"
|
||||
id="textPath54"><tspan
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="2.8222px"
|
||||
letter-spacing=".13229px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
id="tspan52">State of Montana</tspan></textPath></text>
|
||||
<text
|
||||
transform="rotate(1.0275,-16.556,287.48)"
|
||||
x="0.28497145"
|
||||
fill="#000000"
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="2.8222px"
|
||||
letter-spacing=".13229px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
word-spacing="0px"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text62"><textPath
|
||||
startOffset="50%"
|
||||
xlink:href="#a"
|
||||
id="textPath60"><tspan
|
||||
font-family="'Ubuntu Condensed'"
|
||||
font-size="2.8222px"
|
||||
letter-spacing=".13229px"
|
||||
stroke-width=".26458px"
|
||||
text-align="center"
|
||||
text-anchor="middle"
|
||||
id="tspan58">[[[NAME]]]</tspan></textPath></text>
|
||||
<path
|
||||
d="m4.9972 280.6a9.2996 10.003 0 0 1 8.0537-5.0017 9.2996 10.003 0 0 1 8.0537 5.0017"
|
||||
fill="none"
|
||||
id="path64" />
|
||||
<g
|
||||
transform="translate(.064683 .27)"
|
||||
stroke="#000"
|
||||
stroke-width=".254"
|
||||
id="g70">
|
||||
<path
|
||||
transform="matrix(.60047 -.042277 .042277 .60047 -3.9596 113.82)"
|
||||
d="m-5.6196 282.72-0.77787 0.6826 0.12132 1.0278-0.88957-0.52886-0.93997 0.43298 0.22809-1.0094-0.70226-0.76017 1.0305-0.095 0.50595-0.90279 0.40882 0.95073z"
|
||||
id="path66" />
|
||||
<path
|
||||
transform="matrix(.60047 -.042277 .042277 .60047 14.561 113.82)"
|
||||
d="m-5.6196 282.72-0.77787 0.6826 0.12132 1.0278-0.88957-0.52886-0.93997 0.43298 0.22809-1.0094-0.70226-0.76017 1.0305-0.095 0.50595-0.90279 0.40882 0.95073z"
|
||||
id="path68" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
fill="#000000"
|
||||
font-family="Ubuntu"
|
||||
letter-spacing=".26458px"
|
||||
stroke-width=".26458px"
|
||||
word-spacing="0px"
|
||||
id="g92">
|
||||
<text
|
||||
x="8.1357985"
|
||||
y="20.984198"
|
||||
font-size="3.5278px"
|
||||
style="line-height:120.00000477%"
|
||||
xml:space="preserve"
|
||||
id="text78"><tspan
|
||||
x="8.1357985"
|
||||
y="20.984198"
|
||||
style="line-height:120.00000477%"
|
||||
id="tspan74">State of [[[STATE]]]</tspan><tspan
|
||||
x="8.1357985"
|
||||
y="25.217531"
|
||||
style="line-height:120.00000477%"
|
||||
id="tspan76">County of [[[COUNTY]]]</tspan></text>
|
||||
<text
|
||||
x="8.1957703"
|
||||
y="35.60997"
|
||||
font-size="3.5278px"
|
||||
style="line-height:120.00000477%"
|
||||
xml:space="preserve"
|
||||
id="text84"><tspan
|
||||
x="8.1957703"
|
||||
y="35.60997"
|
||||
style="line-height:120.00000477%"
|
||||
id="tspan80">This electronic record was [[[ACT]]] before me on [[[DATE]]]</tspan><tspan
|
||||
x="8.1957703"
|
||||
y="39.843304"
|
||||
style="line-height:120.00000477%"
|
||||
id="tspan82">by [[[SIGNER]]].</tspan></text>
|
||||
<text
|
||||
x="7.1416435"
|
||||
y="92.167633"
|
||||
font-size="2.8222px"
|
||||
style="line-height:100%"
|
||||
xml:space="preserve"
|
||||
id="text90"><tspan
|
||||
x="7.1416435"
|
||||
y="92.167633"
|
||||
id="tspan86">This PDF file has a PGP cryptographic signature appended. Changing or saving the file will</tspan><tspan
|
||||
x="7.1416435"
|
||||
y="94.989853"
|
||||
id="tspan88">remove the signature. To verify signature, go to https://ntsm.io/enotary.</tspan></text>
|
||||
</g>
|
||||
<rect
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.31908524;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect863"
|
||||
width="57.991142"
|
||||
height="0.55343336"
|
||||
x="81.434898"
|
||||
y="73.655464"
|
||||
rx="0.52916932"
|
||||
ry="0.52916932" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.46944451px;line-height:100%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;letter-spacing:0.13229169px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="98.435272"
|
||||
y="77.261032"
|
||||
id="text867"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan865"
|
||||
x="98.435272"
|
||||
y="77.261032"
|
||||
style="font-size:2.46944451px;letter-spacing:0.13229169px;stroke-width:0.26458332px">(notarial signature)</tspan></text>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
Loading…
x
Reference in New Issue
Block a user