Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sharp not working in my AWS EC2 #4212

Closed
Anjan-99 opened this issue Sep 6, 2024 · 5 comments
Closed

sharp not working in my AWS EC2 #4212

Anjan-99 opened this issue Sep 6, 2024 · 5 comments
Labels

Comments

@Anjan-99
Copy link

Anjan-99 commented Sep 6, 2024

this function working proper in my windows laptop but when I upload it to ec2 this below line is not working or giving any error

ticket
.composite([ticketIdBuffer, customerNameBuffer, barcodeBuffer])
.toFile(outputFilePath);

// full function
const createTicket = async (user_id, name, orderid, event_id, barcodePath) => {
// const eventId = event_id.replace(/[^a-zA-Z0-9]/g, "");
const customerName = name;
const orderId = orderid;
console.log("customerName", user_id, name, orderid, event_id, barcodePath);

const event = await Event.findOne({ event_id });

const passtemplate = event.pass_template;
const barcode = await Jimp.read(barcodePath);
barcode.resize(196 * 2, 236 * 2);
console.log("passtemplate", passtemplate);
console.log("barcode", barcode);

const nameTop = event.name_top;
const nameLeft = event.name_left;
const nameColor = event.name_color;
const nameSize = event.name_size;
const barcodeTop = event.barcode_top;
const barcodeLeft = event.barcode_left;
const ticketTop = event.ticket_top;
const ticketLeft = event.ticket_left;
const ticketColor = event.ticket_color;
const ticketSize = event.ticket_size;

const ticket = sharp(passtemplate);

const ticketIdSvg = await generateSvg1(
orderId,
ticketSize,
ticketColor,
"font/OpenSans-ExtraBold.ttf"
);

const customerNameSvg = await generateSvg1(
customerName,
nameSize,
nameColor,
"font/OpenSans-ExtraBold.ttf"
);

const barcodeBuffer = {
input: Buffer.from(await barcode.getBufferAsync(Jimp.MIME_PNG)),
left: barcodeLeft,
top: barcodeTop,
};

const ticketIdBuffer = {
input: Buffer.from(ticketIdSvg),
left: ticketLeft,
top: ticketTop,
};

const customerNameBuffer = {
input: Buffer.from(customerNameSvg),
left: nameLeft,
top: nameTop,
};

// if pass already exists, delete it first before saving new one
if (fs.existsSync(media/userpass/pass_${user_id}.png)) {
fs.unlinkSync(media/userpass/pass_${user_id}.png);
}

const outputFilePath = path.join("media/userpass", pass_${user_id}.png);
console.log("outputFilePath", outputFilePath);

const pass = await ticket
.composite([ticketIdBuffer, customerNameBuffer, barcodeBuffer])
.toFile(outputFilePath);

console.log("ticket generated",pass);
return pass_${user_id}.png;
};

@lovell
Copy link
Owner

lovell commented Sep 6, 2024

Please create a minimal, standalone repo with the simplest possible code and image(s), and without any other dependencies, that allows someone else to reproduce.

@Anjan-99
Copy link
Author

Anjan-99 commented Sep 6, 2024

means ? you want access ?

@ghostlol
Copy link

Please clarify your question. Simply pasting code won't help anyone. If the code is working on your local machine, it should work on the EC2 instance as well. Ensure that the necessary libraries are properly installed on the EC2 machine.

@lovell
Copy link
Owner

lovell commented Sep 23, 2024

@Anjan-99 Were you able to make any progress with this? If you still require help, please create a minimal, standalone repo with the simplest possible code and image(s), and without any other dependencies, that allows someone else to reproduce.

@lovell
Copy link
Owner

lovell commented Oct 29, 2024

Closing due to inactivity but please feel free to reopen with the requested details if further help is required.

@lovell lovell closed this as completed Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants