first commit
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
node_modules
|
9
deck.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[
|
||||||
|
"50237654",
|
||||||
|
"23020408",
|
||||||
|
"23020408",
|
||||||
|
"23020408",
|
||||||
|
"97631303",
|
||||||
|
"97631303",
|
||||||
|
"97631303"
|
||||||
|
]
|
0
images/01372887.jpg
Normal file
0
images/02857636.jpg
Normal file
0
images/03679218.jpg
Normal file
BIN
images/10045474.jpg
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
images/1372887.jpg
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
images/14558127.jpg
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
images/1475311.jpg
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
images/15083304.jpg
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
images/15693423.jpg
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
images/16209941.jpg
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
images/1861629.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/23020408.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/23085002.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
images/2314238.jpg
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
images/24224830.jpg
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
images/25140659.jpg
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
images/25280974.jpg
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
images/27204311.jpg
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
images/2857636.jpg
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
images/30539496.jpg
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
images/30603688.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/35261759.jpg
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
images/35726888.jpg
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
images/36584821.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
images/3679218.jpg
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
images/37261776.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/38033121.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
images/38120068.jpg
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
images/38342335.jpg
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
images/41209827.jpg
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
images/41735184.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
images/41999284.jpg
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
images/42006475.jpg
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
images/43316238.jpg
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
images/43694650.jpg
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
images/43898403.jpg
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
images/44405066.jpg
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
images/46986414.jpg
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
images/47222536.jpg
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
images/48130397.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
images/48444114.jpg
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
images/48680970.jpg
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
images/49202162.jpg
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
images/50237654.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
images/50546208.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
images/54757758.jpg
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
images/55063751.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
images/59514116.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/63767246.jpg
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
images/64697431.jpg
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
images/65741786.jpg
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
images/70368879.jpg
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
images/70711847.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/7084129.jpg
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
images/71197066.jpg
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
images/71384012.jpg
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
images/71703785.jpg
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
images/7198399.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
images/72892473.jpg
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
images/73452089.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/73616671.jpg
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
images/75190122.jpg
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
images/75452921.jpg
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
images/78084378.jpg
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
images/78661338.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/7922915.jpg
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
images/79229522.jpg
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
images/79864860.jpg
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
images/80117527.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
images/81439173.jpg
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
images/82385847.jpg
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
images/83518674.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
images/83531441.jpg
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
images/83764718.jpg
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
images/85289965.jpg
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
images/86509711.jpg
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
images/87116928.jpg
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
images/89631139.jpg
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
images/90807199.jpg
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
images/93854893.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/96471335.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
images/97631303.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
images/98022050.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
images/98978921.jpg
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
images/99745551.jpg
Normal file
After Width: | Height: | Size: 67 KiB |
99
index.js
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
PDFDocument = require('pdfkit');
|
||||||
|
fs = require('fs');
|
||||||
|
Path = require('path');
|
||||||
|
Axios = require('axios');
|
||||||
|
doc = new PDFDocument({
|
||||||
|
size: 'A4',
|
||||||
|
margin: 5
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//Permet de récupérer des images de cartes
|
||||||
|
async function downloadImage(prmIdCard) {
|
||||||
|
const url = 'https://storage.googleapis.com/ygoprodeck.com/pics/' + prmIdCard + '.jpg';
|
||||||
|
const path = Path.resolve(__dirname, 'images', prmIdCard + '.jpg');
|
||||||
|
const writer = fs.createWriteStream(path);
|
||||||
|
|
||||||
|
const response = await Axios({
|
||||||
|
url,
|
||||||
|
method: 'GET',
|
||||||
|
responseType: 'stream'
|
||||||
|
})
|
||||||
|
|
||||||
|
response.data.pipe(writer)
|
||||||
|
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
writer.on('finish', resolve)
|
||||||
|
writer.on('error', reject)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//console.log(fs.existsSync('./images/10045474.jpg'));
|
||||||
|
|
||||||
|
decklist = require('./deck.json');
|
||||||
|
|
||||||
|
const downloadImages = async _ => {
|
||||||
|
|
||||||
|
for (let i = 0; i < decklist.length; i++) {
|
||||||
|
if(decklist[i].charAt(0) === "0") {
|
||||||
|
decklist[i] = decklist[i].slice(1);
|
||||||
|
}
|
||||||
|
const path = './images/' + decklist[i] + '.jpg';
|
||||||
|
if(!fs.existsSync(path)) {
|
||||||
|
console.log(decklist[i]);
|
||||||
|
await downloadImage(decklist[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
const makePdfProxies = async _ => {
|
||||||
|
//Pipe its output somewhere, like to a file or HTTP response
|
||||||
|
//See below for browser usage
|
||||||
|
doc.pipe(fs.createWriteStream('output.pdf'))
|
||||||
|
|
||||||
|
let x = 32;
|
||||||
|
let y = 32;
|
||||||
|
let width = 173;
|
||||||
|
let height = 252;
|
||||||
|
|
||||||
|
for (let i = 0; i < decklist.length; i++) {
|
||||||
|
// console.log("i : " + i);
|
||||||
|
// console.log("x : " + x);
|
||||||
|
// console.log("y : " + y);
|
||||||
|
// console.log("mod : " + i % 3);
|
||||||
|
console.log(decklist[i]);
|
||||||
|
|
||||||
|
const path = './images/' + decklist[i] + '.jpg';
|
||||||
|
|
||||||
|
if (i % 3 !== 0) {
|
||||||
|
x = x + width + 5;
|
||||||
|
//y = y + height;
|
||||||
|
} else if (i !== 0) {
|
||||||
|
x = 32;
|
||||||
|
y = y + height + 5;
|
||||||
|
}
|
||||||
|
if (y + height > 842) {
|
||||||
|
y = 32;
|
||||||
|
x = 32;
|
||||||
|
doc.addPage().image('./images/' + decklist[i] + '.jpg', x, y, {
|
||||||
|
fit: [width, height],
|
||||||
|
// align: 'center',
|
||||||
|
// valign: 'center'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
doc.image('./images/' + decklist[i] + '.jpg', x, y, {
|
||||||
|
fit: [width, height],
|
||||||
|
// align: 'center',
|
||||||
|
// valign: 'center'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Add an image, constrain it to a given size, and center it vertically and horizontally
|
||||||
|
doc.end();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
downloadImages().then(e => {
|
||||||
|
makePdfProxies();
|
||||||
|
}).catch(error => console.error(error));
|
BIN
output.pdf
Normal file
1328
package-lock.json
generated
Normal file
18
package.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "ygopdfproxy",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"axios": "^0.19.1",
|
||||||
|
"fs": "0.0.1-security",
|
||||||
|
"path": "^0.12.7",
|
||||||
|
"pdfkit": "^0.11.0",
|
||||||
|
"request": "^2.88.0"
|
||||||
|
}
|
||||||
|
}
|