μ΄λ―Έμ§λ‘ λ³νν΄μΌ νλ λͺ¨λ μμκ° ν¬ν¨λ divκ° μμ΅λλ€. κ·Έλ¦¬κ³ κ·Έ divλ ' overflow:auto 'λ‘ μ€μ λ©λλ€. λͺ¨λ μμ(μ€ν¬λ‘€λ§μ μ¨κ²¨μ Έ μμ)λ₯Ό μ΄λ―Έμ§λ‘ λ΄λ³΄λ΄λ λ°©λ²μ μκ³ μΆμ΅λλ€. κ·νμ λͺ¨λ μ견과 λ΅λ³μ κ°μ¬νκ³ νμν©λλ€. 미리 κ°μ¬λ립λλ€...
νμ¬ νΉμ μ΅μ μΌλ‘ νμ΄μ§λ₯Ό λ λλ§νλ μ΅μ μ΄ μμΌλ―λ‘ μνλ λ λλ§ λ°©μμΌλ‘ νμ΄μ§λ₯Ό μμ ν΄μΌ ν©λλ€.
μ¦, λμ΄/λλΉ μ νμ μ κ±°νκ³ html2canvasλ₯Ό μ€νν λ€μ λμ΄/λλΉλ₯Ό μλ κ°μΌλ‘ λ€μ μ€μ νλ©΄ μνλ κ²μ μ»μ μ μμ΅λλ€.
μ λ§ κ°μ¬ν©λλ€.... λ§μνμ λλ‘ ν΄λ΄μΌκ² μ΅λλ€...
λλ μ€λ«λμ λ Έλ ₯νμ§λ§... κ·Έκ²μ λ§μ λ¬Έμ λ₯Ό λ§λ λ€. λλ λΉμ μ΄ λ§ν κ²μ λ¬μ±νμ§ λͺ»νμ΅λλ€. μ€ν¬λ‘€μ΄ μμ΄λ 'λ³Έλ¬Έ'μΌ λ μ μλνλ€λ κ²μ μμμ΅λλ€ ... μ€ν¬λ‘€μ΄μλ μμκ°μλ divμ λν΄μλ λμΌν κ²°κ³Όλ₯Ό μ»κ³ μΆμ΅λλ€ ...μ΄ λ¬Έμ λ₯Ό λμ μ€ μ μλ€λ©΄ μ μκ² ν° λμμ΄ λ©λλ€... μ¬λ¬λΆμ μ견μ κΈ°λ€λ¦½λλ€...
@niklasvh , λλ κ°μ λ¬Έμ κ° μκ³ λ΄κ° κ°μ§ μ μΌν ν΄κ²° λ°©λ²μ html2canvas
(νμ μ΅μ
μ μλ)λ₯Ό νΈμΆνκΈ° μ μ λμ μμμ λλΉλ₯Ό μ€μ΄κ±°λ html2canvas
μ νΈμΆνλ κ²μ
λλ€.
http://jsfiddle.net/fMeRC/1/ (μ΄ νΉμ μλ Chromeμμλ§ μλν©λλ€. λ€λ₯Έ λΈλΌμ°μ μμ λ¬Έμ λ₯Ό λ³΄λ €λ©΄ λλΉλ₯Ό μ‘°μ ν΄μΌ ν¨)
μ΄κ²μ κΈ°λ³Έμ μΌλ‘ μμκ° μ°½ λλ (document.width - 8)
λ³΄λ€ λμ λλ§ λ°μν©λλ€. μ΄λ κ²μ΄ λ μ€μνκ³ μ§μ μ μΈ κ΄λ ¨μ΄ μλμ§ μ λͺ¨λ₯΄κ² κ³ λ€λ₯Έ λΈλΌμ°μ μμλ λ³κ²½λ μ μμ΅λλ€.
μλ§λ κ΄λ ¨: #199 λ° #108.
childElementλ₯Ό μλνκ±°λ "overflow=visible"μ μ€μ νκ³ "overflow=auto|hidden|inherit"λ₯Ό μ€μ ν ν ?
μ€νμΌμ΄ μλ childElement, μ€λ²νλ‘κ° μλ divμ λ΄μ©λ§ μμ :
<div id="main"><!--// main div -->
<div class="mainContent"><!--// div without style (height: auto, width: auto, margin: 0, padding: 0) -->
...content...
html2canvas([$("#main div.mainContent").get(0)],...)
μ μ κ°μ¬ν©λλ€, @brcontainer. overflow: visible
-> html2canvas( ... )
-> overflow: [old overflow]
μ κ·Ό λ°©μμ μλνμ§λ§ μ¨κ²¨μ§/μ¨κΉ ν΄μ /μ¨κΉ λ€μ μ½ν
μΈ μ νλμκ° λ무 λμ λμμ΅λλ€. λΉκ΅μ 볡μ‘νλ€). λλ κ·Έ μ μμ μ°¨μ΄λ₯Ό λ§λλ κ²μΌλ‘ 보μ΄λ ν΄κ²° λ°©λ²μ μ½κ° μ΅μ νλ λ³νμ μκ°ν΄ λμ§λ§:
html2canvas( targetElement, {
onpreloaded: function(){ /* set parent overflow to visible */},
onparsed: function(){ /* reset parent overflow */ },
// ... onrendered, etc.
});
μ΄κ²μ h2cκ° λμμ μ μ νκ² κ΅¬λ¬Έ λΆμνλ λ° νμν κ°μ₯ 짧μ μκ° λμμλ§ μ€λ²νλ‘λ₯Ό 'νμ'λ‘ μ€μ νλ―λ‘ μ μ΄λ μ κ²½μ°μλ νλμλ₯Ό κ±°μ μμ ν μ κ±°ν©λλ€. μ¦, μ€λ²νλ‘λ₯Ό μ¬μ€μ /λ€μ μ¨κΈ°κΈ° μ μ μΊλ²μ€ λ λλ§ λ¨κ³κ° μλ£λ λκΉμ§ λ μ΄μ κΈ°λ€λ¦΄ νμκ° μμ΅λλ€. μ΄ μμ λ μ κ·Ό λ°©μμ΄ λͺ¨λ μ¬λμκ² ν¨κ³Όκ° μμμ§λ λͺ¨λ₯΄κ² μ§λ§ html2canvas( ... )
μ°μμΌλ‘ λ λ² νΈμΆνκ±°λ DOMμ μΆκ° νλͺ©μ μΆκ°νμ¬ λμ μ½ν
μΈ λ₯Ό λννλ κ²λ³΄λ€ λ λμ ν΄κ²° λ°©λ²μ΄λΌκ³ μκ°ν©λλ€.
μ΄μ¨λ μ΄κ²μ μ¬μ ν ββμ λλ‘ μμ λμμΌλ©΄ νλ μ€μ λ²κ·Έμ λλ€. (νΉν IE9 λ° 10μμλ λ κ°μ§ ν΄κ²° λ°©λ²μ΄ λͺ¨λ μ λλ‘ μλνμ§ μκΈ° λλ¬Έμ μ μ΄λ IE11μμλ μλνμ§ μμμ΅λλ€.)
_μ°Έκ³ : μμ μΈκΈν ν΄κ²° λ°©λ²μ νμ¬ λ§μ€ν°μ μλ μ΅μ λ²μ μμλ μλνμ§ μμ΅λλ€. ν
μ€νΈνμ§λ μμμ§λ§ oncloned
μ΅μ
μ λμ μ¬μ©ν΄μΌ νλ κ² κ°μΌλ©° μ΄μ .then()
μ λν μ½λ°±μμ μ€λ²νλ‘ λΆλͺ¨ μ¬μ€μ μ΄ νΈμΆλ©λλ€. (볡μ λ λ¬Έμ λ΄μμ λΆλͺ¨μ μ€λ²νλ‘λ₯Ό λ
μ μ μΌλ‘ λ³Ό μ μλλ‘ νκ³ μ¬μ€μ μ λν΄ μ ν κ±±μ νμ§ μμλ λ©λλ€.)_
μ μ΄λ° μμΌλ‘ μ¬μ©νλμ§ μ΄ν΄κ° λμ§ μμ΅λλ€. λ€μκ³Ό κ°μ΄ νλ κ²μ΄ μ’μ΅λλ€.
function SnapShotDOM(target,call){
var data = {};
//use jquery or getComputedStyle|style.overflow
data.overflow = /*get overflow property*/;
data.width = /*get width property*/;
data.height = /*get height property*/;
data.maxWidth = /*get maxWidth property*/;
data.maxHeight = /*get maxHeight property*/;
target.style.overflow="visible !important";
target.style.height="auto !important";
target.style.maxHeight="auto !important";
html2canvas(target, {
"onrendered": function(canvas) {
target.style.overflow = data.overflow;
target.style.width = data.width;
target.style.height = data.height;
target.style.maxWidth = data.maxWidth;
target.style.maxHeight = data.maxHeight;
call(canvas);
}
});
}
SnapShotDOM(document.body,function(canvas){
console.log(canvas);
});
λλ ν΄λμ€λ₯Ό μ¬μ©νμμμ€.
<style>
*.html2canvasreset{
overflow: visible !important;
width: auto !important;
height: auto !important;
max-height: auto !important;
}
</style>
<script>
function SnapShotDOM(target,call){
var data = target.className;
target.className += " html2canvasreset";//set className - Jquery: $(target).addClass("html2canvasreset");
html2canvas(target, {
"onrendered": function(canvas) {
target.className = data;//old className - Jquery: $(target).removeClass("html2canvasreset");
call(canvas);
}
});
}
SnapShotDOM(document.body,function(canvas){
console.log(canvas);
});
</script>
onrendered
μ μ€λ²νλ‘μ κ΄λ ¨λ λ΄μ©μ λ£μ§ μλ μ΄μ λ νμ±κ³Ό λ λλ§ μ¬μ΄μ μκ°μ΄ λμ λκΈ° λλ¬Έμ κ°λ₯ν ν 빨리 μ€λ²νλ‘λ₯Ό μ¬μ€μ νλ κ²μ΄ μ’μ΅λλ€(μ¦, νμ± μ§ν, λ λλ§ μ ). μ½ν
μΈ μ λμ λλ νλμλ₯Ό νΌνκΈ° μν΄. λμ onparsed
μ μ€λ²νλ‘ μ¬μ€μ μ λ£μΌλ©΄ μ΄ μμ
μ΄ μνλ©λλ€.
λλ "onpreloaded"λ₯Ό μΈκΈνκ³ μμλ€.
μ΄ μλ:
function SnapShotDOM(target,call){
var data = target.className;
target.className += " html2canvasreset";//set className - Jquery: $(target).addClass("html2canvasreset");
html2canvas(target, {
"onparsed": function() {
target.className = data;//old className - Jquery: $(target).removeClass("html2canvasreset");
},
"onrendered": function(canvas) {
call(canvas);
}
});
}
SnapShotDOM(document.body,function(canvas){
console.log(canvas);
});
onpreloaded
λ₯Ό μ¬μ©νλ κ²λ κ°μ μ΄μ μ
λλ€. μ¦, ꡬ문 λΆμ λ¨κ³ μ§μ μ μ€λ²νλ‘ μ¨κΈ°κΈ° ν΄μ λΆλΆμ κ°λ₯ν μ΅μ μμ μΌλ‘ μ΄λνμ¬ μκ°μ μ΅μννλ μ΅μ νμ
λλ€. μ½ν
μΈ κ° νλ©΄μ μμ ν νμλ©λλ€. μ¬κΈ° λ° μ¬κΈ° μ½λμμ μ΄κ²μ΄ μ΄λ»κ² μλνλμ§ νμΈν μ μμ΅λλ€.
@niklasvh , μ΄ λ¬Έμ κ° μ¬κΈ°μμ μ°Ύμ TODO( options.useOverflow
)μ μ ν κ΄λ ¨μ΄ μμ΅λκΉ?
μ΄λ€ λ²μ μ μ¬μ©νμ
¨μ΅λκΉ? .. λ΄ λ²μ μμ onparsed λ° onpreloaded λ©μλλ₯Ό μ°Ύμ μ μμ΅λλ€.
html2canvas-0.5.0-alpha1μ μ¬μ©νλ λ©μ μ
@ejlocop μ΄ λ¬Έμ λ μ΄μ λ²μ μ λν΄ λͺ λ μ μ μ μΆλμμΌλ©° μ¬μ© μ¬λ‘(#511)μ κ΄λ ¨μ΄ μμ μ μμ΅λλ€.
κ·Έλ€μ λ¬Έμ λ₯Ό ν΄κ²°? paraa μ루μ
λ΄ Gantt μ°¨νΈλ‘ λκ°λ₯Ό μ°Ύκ³ μμ΄μ, λΉμ μ΄ μμ ν νμν©λλ€ ...
μλνμ§ μμ΅λλ€.
@pkpatels μ μλνμ§ μμ΅λκΉ? λλ λΉμ μ λ°μ΄μ¬λ¦°μ μ€ννκ³ λ¬Έμ₯μ λκΈ°μ§ μκ³ λ λλ§λμμ΅λλ€ ...
λλ λνμ΄ λ¬Έμ κ° μμκ³ λλ₯Ό μν΄ μΌν μ루μ
μ # 117μμ μ μν κ²μ
λλ€.
@uriklar μμ§μ΄ μλ μν μ€ν¬λ‘€μμ μλν©λλ€. λ΄ divλ₯Ό νμΈνμμμ€. κ±°κΈ°μλ μΈ κ°μ§ λ€λ₯Έ μμκ° μμ΅λλ€.
@uriklar μ μν μ루μ
μ divλ₯Ό μλλ‘ μ€ν¬λ‘€νκ³ μμ ν νμλ₯Ό ν΄λ¦ν΄λ μλνμ§ μμ΅λλ€.
λ λλ§νκΈ° μ μ #text divμ λμ΄λ₯Ό μλμΌλ‘ μ€μ νκ³ λμ€μ μ¬μ€μ νλ κ²μ μ΄λ»μ΅λκΉ? ν¨κ³Όκ° μμ κ²μ λλ€.
κ°μ₯ μ΅κ·Ό 릴리μ€(0.5.0-beta4)μμ μ¬μ ν μ€λ²νλ‘ λ¬Έμ κ° μμμ΅λλ€. @usmonster μ ν΄κ²° λ°©λ²μ μ¬μ©νμ¬ h2c λ° Promisesμ μ΅κ·Ό λ³κ²½ μ¬νμ μ μ©νμ΅λλ€( @usmonster μ λ©λͺ¨μ μ€λͺ λ¨).
μ°Έκ³ : μμ μΈκΈν ν΄κ²° λ°©λ²μ νμ¬ λ§μ€ν°μ μλ μ΅μ λ²μ μμλ μλνμ§ μμ΅λλ€. ν μ€νΈνμ§λ μμμ§λ§ λμ onclone μ΅μ μ μ¬μ©ν΄μΌ νλ κ² κ°μΌλ©° μ€λ²νλ‘ λΆλͺ¨ μ¬μ€μ μ μ΄μ .then()μ λν μ½λ°±μμ νΈμΆλ©λλ€. (볡μ λ λ¬Έμ λ΄μμ λΆλͺ¨μ μ€λ²νλ‘λ₯Ό λ μ μ μΌλ‘ λ³Ό μ μλλ‘ νκ³ μ¬μ€μ μ λν΄ μ ν κ±±μ νμ§ μλ κ²λ κ°λ₯ν΄μΌ ν©λλ€.)
λ°λΌμ μΉνμ΄μ§μ μ€μ DOMμ λ³κ²½νμ§ μκ³ onclone
μ½λ°±μ μ¬μ©νμ¬ h2cμμ λ λλ§μ μ¬μ©λλ 볡μ λ λ¬Έμλ₯Ό λ³κ²½ν μ μμ΅λλ€. μ€μ λ‘ λ§€μ° κ°λ¨ν©λλ€. μ¬κΈ° λ΄ h2c νΈμΆμ΄ μμ΅λλ€.
var renderingPromise = html2canvas($(item), {
width: item.clientWidth,
height: item.clientHeight,
onclone: function(clone) {
$(clone).find('.grid-stack-item-content')
.css('overflow-x', 'auto')
.css('overflow-y', 'auto');
return true;
}
}).then(
function(c) {/* success */},
function() {/* fail */}
);
λλ₯Ό μν΄ μΌν μ μΌν λ°©λ²μ μΊλ²μ€λ₯Ό iframeμ λ£κ³ κ·Έ μμ html2canvasλ₯Ό νΈμΆνκ³ μΊλ²μ€μμ toDataURL()μ νΈμΆν λ€μ μ½λ°±μ μ¬μ©νμ¬ ν΄λΉ μ΄λ―Έμ§λ₯Ό 맨 μ μ°½μΌλ‘ λ€μ μ λ¬νλ κ²μ λλ€. μΊλ²μ€ κ°μ²΄λ₯Ό λ€μ μ λ¬ν μλ μλ€κ³ κ°μ ν©λλ€.
return renderDocument(node.ownerDocument, options, node.ownerDocument.defaultView.innerWidth, node.ownerDocument.defaultView.innerHeight, index).then(function(canvas) {
if (typeof(options.onrendered) === "function") {
log("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas");
options.onrendered(canvas);
}
return canvas;
});
λ‘ λ³κ²½
var width = options.width != null ? options.width : node.ownerDocument.defaultView.innerWidth;
var height = options.height != null ? options.height+node.ownerDocument.defaultView.innerHeight : node.ownerDocument.defaultView.innerHeight;
return renderDocument(node.ownerDocument, options, width, height, index).then(function (canvas) {
if (typeof(options.onrendered) === "function") {
log("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas");
options.onrendered(canvas);
}
return canvas;
});
μ΄κ²μ νλ©΄μ μ€λ²νλ‘(λλΉμ λμ΄ λͺ¨λ)μ λν μ§λ¬Έμ ν΄κ²°ν μ μμ΅λλ€.
xzw123μλ μλͺ»λ μ루μ
μ΄ μμ΅λλ€. ownerDocument.defaultView.innerHeight
μλμΌλ‘ μ€μ νλ©΄ μ€μ μ°½ ν¬κΈ° μ‘°μ μ΄λ²€νΈμμ λ°μΈλ©μ΄ ν΄μ λ©λλ€. iframeμμ νλ κ²μ΄ κ°μ₯ μ’μ κ² κ°μ΅λλ€. Jordanμ μ루μ
μ μλνκ³ μΆμ΅λλ€.
Jordan, μ΄λ»κ² iframeμμ μΊλ²μ€λ₯Ό μ¬μ©νκ² λμλμ? μ§κΈ μλνκ³ μμ΅λλ€. μ΄κ²μ΄ html2canvasμ μ΅μ’ μ루μ μ΄μ΄μΌ νλ€κ³ μκ°ν©λλ€... iframe ν΅μ μ API μΈλΆμμ 보μ΄μ§ μλλ‘ ν΄μΌ ν©λλ€.
μ μ, window.postMessage(myData, ... )
λ₯Ό μ¬μ©νμ¬ iframeμμ μννλ©΄ νΈλ¦μ΄ μνλ©λλ€. λ λλ§λ ν½μ
μ μ 체 λ°μ΄ν° URLμ λ€μ κ²μν μ μμ΅λλ€. iframeμ HTMLμ λ λλ§ μ½λλ₯Ό λ£κ³ HTML μμ€λ₯Ό λ λλ§νλ λ° νμν λ°μ΄ν°λ₯Ό μ λ¬νκ³ μΊλ²μ€μ λ λλ§ν λ€μ toDataUrl λ°μ΄ν°λ₯Ό λ€μ λ΄λ³΄λ΄λλ‘ νμ΅λλ€.
+1
μλ νμΈμ. μ루μ μ κ²μνκ³ μ½λκ° μ΄λ»κ² μ€νλλμ§ κ΄μ°°ν ν λλ§μ κΉλ€λ‘μ΄ μ루μ μ μμ±ν©λλ€.
https://gist.github.com/simonmysun/c6da13ce2827a374e71ccf07d9f08e2d
κ·Έκ²μ λλ₯Ό μν΄ μΌνκ³ κ·Έκ²μ΄ νμν μ¬λμκ² λμμ΄λκΈ°λ₯Ό λ°λλλ€.
κ·Έλ¬λ μμΌλ‘ μ΄ λΌμ΄λΈλ¬λ¦¬μμ μ§μλ μ μκΈ°λ₯Ό λ°λλλ€.
λλ μ¬μ ν κ·Έκ²μ μ΄ν΄νμ§ λͺ»νμ§λ§ λ΄ λ¬Έμ λ μ΄λ―Έμ§κ° μ리λ κ²μ
λλ€. ν¬λ‘¬ λ²μ 54.0.2840.99 m μ¬μ© μ
(λ°μͺ½ μ΄λ―Έμ§λ μ€ν¬λ¦°μ·μ΄ μ°νμ§λ§ λλ¨Έμ§ λ°μͺ½μ κ²μμ νλ©΄μ΄ λ¨)
// the timeline show up 100%, but cut off, cause its static and not dynamic.
// (its cut off from the screen,but the size, and picture show as normal, 100% show)
// after moving to the canvas, everthing that not in the screen will get blank in chrome
// it depends to the user screen, if i zoom out my chrome, i get 100% image.
κ·Έλ¬λ Mozilla 50.0.2λ₯Ό μ¬μ©ν λ μΆμ μμ΄ μ μλν©λλ€. (100% μ΄λ―Έμ§),
μ΄μ λ₯Ό λͺ¨λ₯΄κ² μ΅λλ€.
μ½λ:
var zenleft = $("#leftPanel").width(); //calculate left side
var zenright = $(".dataPanel").width(); //calculate right side
var after = zenright + zenleft + 250; // add all
//add the css, even after add overflow still not working
$("#timelineTarget").css({"background-color":"white","width":after});
html2canvas(canvTimeline, {
onrendered: function (canvas) {
$("#previewImage").html(canvas);
getCanvas = canvas;
}
});
λ§μ§λ§μΌλ‘ λ€μμ μΆκ°νμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€.
$("body").css({"width": "+="+after}); //after is a total of the width of the element i want to view
κ·Έλμ
var zenleft = $("#leftPanel").width(); //calculate left side
var zenright = $(".dataPanel").width(); //calculate right side
var after = zenright + zenleft + 250; // add all
$("body").css({"width": "+="+after}); //add the body
//add the css
$("#timelineTarget").css({"background-color":"white","width":after});
html2canvas(canvTimeline, {
onrendered: function (canvas) {
$("#previewImage").html(canvas);
$("#timelineTarget").css({"background-color":"white","width":old}); //turn it back
$("body").css({"width": "-="+after}); //turn it back
getCanvas = canvas;
}
});
μμ μ λ¬Έμ λ₯Ό ν΄κ²°νκΈ°λ₯Ό λ°λλλ€.
onclone μ΄ μ¬λ°λ₯Έ λ°©λ²μΌ μ μμ΅λλ€. CSSλ₯Ό λ³κ²½νμ¬ μνλ κ²μ μ»μ μ μμ΅λλ€.
μλ νμΈμ, μ€ν¬λ‘€ κ°λ₯ν divκ° μμ΅λλ€. div μ λ ₯μ μΊλ²μ€ 맀κ°λ³μλ‘ λ³΄λ΄λ©΄ λ·°ν¬νΈμμ μ¬μ©ν μ μλ κ²λ§ λ λλ§λ©λλ€. λλ λͺ¨λ ν΄κ²°μ± μ κ±°μ³€μ΅λλ€. λλ μ΄ν΄νμ§ λͺ»νλ€. λꡬλ μ§ divμ μ 체 μ½ν μΈ λ₯Ό μ€ν¬λ¦°μ·μΌλ‘ κ°μ Έμ€λ λ°©λ²μ λ§ν μ μμ΅λκΉ?
@ruthraprakash , λΉμ·ν λ¬Έμ κ° μμμ΅λλ€. μ΄κ²μ μ΅μ λ²μ μμ κ°λ¨ν λͺ©μ μΌλ‘ μλν©λλ€.
function fullhtml2canvas(el) {
return new Promise(resolve => {
html2canvas(el, {
width: el.scrollWidth,
height: el.scrollHeight,
}).then(canvas => {
resolve(canvas);
});
});
}
νμλΌμΈ μ°¨νΈμ μ€ν¬λ¦°μ·μ μ°λ λ° λ¬Έμ κ° μμ΅λλ€. x μΆ κ°μ μ»μ§ λͺ»νμ΅λλ€. νμλΌμΈ μ°¨νΈμ μ΄λ―Έμ§λ₯Ό μμ±νλ κ²μ
λλ€.
` demoFromHTML(e) {
e.preventDefault();
let input = window.document.getElementById('divToPDF');
html2canvas(input)
.then((canvas) => {
const imgData = canvas.toDataURL('image/jpeg');
const pdf = new pdfConverter("l", "pt");
pdf.addImage(imgData, 'JPEG', 15, 110, 800, 250);
pdf.save('test.pdf');
});
}
`
λλ μ€λ«λμ λ Έλ ₯νμ§λ§... κ·Έκ²μ λ§μ λ¬Έμ λ₯Ό λ§λ λ€. λλ λΉμ μ΄ λ§ν κ²μ λ¬μ±νμ§ λͺ»νμ΅λλ€. μ€ν¬λ‘€μ΄ μμ΄λ 'λ³Έλ¬Έ'μΌ λ μ μλνλ€λ κ²μ μμμ΅λλ€ ... μ€ν¬λ‘€μ΄μλ μμκ°μλ divμ λν΄μλ λμΌν κ²°κ³Όλ₯Ό μ»κ³ μΆμ΅λλ€ ...μ΄ λ¬Έμ λ₯Ό λμ μ€ μ μλ€λ©΄ μ μκ² ν° λμμ΄ λ©λλ€... μ¬λ¬λΆμ μ견μ κΈ°λ€λ¦½λλ€...
μ΄λ»κ² λͺΈμ΄ μλνλμ§ λ³΄μ¬μ€ μ μμ΅λκΉ?
κ°μ₯ μ μ©ν λκΈ
@ruthraprakash , λΉμ·ν λ¬Έμ κ° μμμ΅λλ€. μ΄κ²μ μ΅μ λ²μ μμ κ°λ¨ν λͺ©μ μΌλ‘ μλν©λλ€.