This example shows how to draw lines when creating PDF file in JavaScript with BytescoutPDF.js (Bytescout PDF Generator for JavaScript).
Bytescout PDF Generator for JS lets you to draw line of custom color and width and use different line caps – butt, round or square.
// function that creates BytescoutPDF instance (defined in BytescoutPDF.js script which have to be included into the same page)
// then calls API methods and properties to create PDF document
// and returns created BytescoutPDF object instance
// this CreatePDF() function is called from Sample.html
function CreatePDF() {
// create BytescoutPDF object instance
var pdf = new BytescoutPDF();
// set document properties: Title, subject, keywords, author name and creator name
pdf.propertiesSet("Sample document title", "Sample subject", "keyword1, keyword 2, keyword3", "Document Author Name", "Document Creator Name");
// set page size
pdf.pageSetSize(BytescoutPDF.A4);
// set page orientation (BytescoutPDF.PORTRAIT = portrait, BytescoutPDF.LANDSCAPE = landscape)
pdf.pageSetOrientation(BytescoutPDF.PORTRAIT);
// add new page
pdf.pageAdd();
// draw lines with different widths
for (var j = 0; j < 10; j++) {
// set color in RGB format (0,0,0 is black color)
pdf.graphicsSetColor(0, 0, 0);
// set line width
pdf.graphicsSetLineWidth(1 + j);
// draw a line from one point to another
pdf.graphicsDrawLine(20, 20 + j * 15, 120, 20 + j * 15);
}
// draw lines with different colors (trying different Green components
for (var j = 0; j < 25; j++) {
// set new line color in RGB format by changing G component
pdf.graphicsSetColor(25, 10 * j, 25);
// set line width
pdf.graphicsSetLineWidth(3);
// draw a line from one point to another
pdf.graphicsDrawLine(140, 20 + j * 8, 300, 20 + j * 8);
}
// draw lines with different line endings
// available line endings:
// BytescoutPDF.BUTT_CAP (default)
// BytescoutPDF.ROUND_CAP
// BytescoutPDF.PROJECTING_SQUARE_CAP
// draw line with line end type = 0
// set new line color in RGB format to Black (0,0,0)
pdf.graphicsSetColor(0, 0, 0);
// set line width
pdf.graphicsSetLineWidth(10);
// set line ending type
pdf.graphicsSetLineEndType(BytescoutPDF.BUTT_CAP);
// draw a line from one point to another
pdf.graphicsDrawLine(320, 20, 380, 20);
// set line width
pdf.graphicsSetLineWidth(10);
// set line ending type
pdf.graphicsSetLineEndType(BytescoutPDF.ROUND_CAP);
// draw a line from one point to another
pdf.graphicsDrawLine(320, 40, 380, 40);
// set line width
pdf.graphicsSetLineWidth(10);
// set line ending type
pdf.graphicsSetLineEndType(BytescoutPDF.PROJECTING_SQUARE_CAP);
// draw a line from one point to another
pdf.graphicsDrawLine(320, 60, 380, 60);
// return BytescoutPDF object instance
return pdf;
}
Generated PDF file with various lines (click to view full size):