How to use decodeType7Shading method in wpt

Best JavaScript code snippet using wpt

pattern.js

Source:pattern.js Github

copy

Full Screen

...544 colors: new Int32Array(cs)545 });546 }547 }548 function decodeType7Shading(mesh, reader) {549 var coords = mesh.coords;550 var colors = mesh.colors;551 var ps = new Int32Array(16); // p00, p10, ..., p30, p01, ..., p33552 var cs = new Int32Array(4); // c00, c30, c03, c33553 while (reader.hasData) {554 var f = reader.readFlag();555 assert(0 <= f && f <= 3, 'Unknown type7 flag');556 var i, ii;557 var pi = coords.length;558 for (i = 0, ii = (f !== 0 ? 12 : 16); i < ii; i++) {559 coords.push(reader.readCoordinate());560 }561 var ci = colors.length;562 for (i = 0, ii = (f !== 0 ? 2 : 4); i < ii; i++) {563 colors.push(reader.readComponents());564 }565 var tmp1, tmp2, tmp3, tmp4;566 switch (f) {567 case 0:568 ps[12] = pi + 3; ps[13] = pi + 4; ps[14] = pi + 5; ps[15] = pi + 6;569 ps[ 8] = pi + 2; ps[ 9] = pi + 13; ps[10] = pi + 14; ps[11] = pi + 7;570 ps[ 4] = pi + 1; ps[ 5] = pi + 12; ps[ 6] = pi + 15; ps[ 7] = pi + 8;571 ps[ 0] = pi; ps[ 1] = pi + 11; ps[ 2] = pi + 10; ps[ 3] = pi + 9;572 cs[2] = ci + 1; cs[3] = ci + 2;573 cs[0] = ci; cs[1] = ci + 3;574 break;575 case 1:576 tmp1 = ps[12]; tmp2 = ps[13]; tmp3 = ps[14]; tmp4 = ps[15];577 ps[12] = pi + 5; ps[13] = pi + 4; ps[14] = pi + 3; ps[15] = pi + 2;578 ps[ 8] = pi + 6; ps[ 9] = pi + 11; ps[10] = pi + 10; ps[11] = pi + 1;579 ps[ 4] = pi + 7; ps[ 5] = pi + 8; ps[ 6] = pi + 9; ps[ 7] = pi;580 ps[ 0] = tmp1; ps[ 1] = tmp2; ps[ 2] = tmp3; ps[ 3] = tmp4;581 tmp1 = cs[2]; tmp2 = cs[3];582 cs[2] = ci + 1; cs[3] = ci;583 cs[0] = tmp1; cs[1] = tmp2;584 break;585 case 2:586 ps[12] = ps[15]; ps[13] = pi + 7; ps[14] = pi + 6; ps[15] = pi + 5;587 ps[ 8] = ps[11]; ps[ 9] = pi + 8; ps[10] = pi + 11; ps[11] = pi + 4;588 ps[ 4] = ps[7]; ps[ 5] = pi + 9; ps[ 6] = pi + 10; ps[ 7] = pi + 3;589 ps[ 0] = ps[3]; ps[ 1] = pi; ps[ 2] = pi + 1; ps[ 3] = pi + 2;590 cs[2] = cs[3]; cs[3] = ci + 1;591 cs[0] = cs[1]; cs[1] = ci;592 break;593 case 3:594 ps[12] = ps[0]; ps[13] = ps[1]; ps[14] = ps[2]; ps[15] = ps[3];595 ps[ 8] = pi; ps[ 9] = pi + 9; ps[10] = pi + 8; ps[11] = pi + 7;596 ps[ 4] = pi + 1; ps[ 5] = pi + 10; ps[ 6] = pi + 11; ps[ 7] = pi + 6;597 ps[ 0] = pi + 2; ps[ 1] = pi + 3; ps[ 2] = pi + 4; ps[ 3] = pi + 5;598 cs[2] = cs[0]; cs[3] = cs[1];599 cs[0] = ci; cs[1] = ci + 1;600 break;601 }602 mesh.figures.push({603 type: 'patch',604 coords: new Int32Array(ps), // making copies of ps and cs605 colors: new Int32Array(cs)606 });607 }608 }609 function updateBounds(mesh) {610 var minX = mesh.coords[0][0], minY = mesh.coords[0][1],611 maxX = minX, maxY = minY;612 for (var i = 1, ii = mesh.coords.length; i < ii; i++) {613 var x = mesh.coords[i][0], y = mesh.coords[i][1];614 minX = minX > x ? x : minX;615 minY = minY > y ? y : minY;616 maxX = maxX < x ? x : maxX;617 maxY = maxY < y ? y : maxY;618 }619 mesh.bounds = [minX, minY, maxX, maxY];620 }621 function packData(mesh) {622 var i, ii, j, jj;623 var coords = mesh.coords;624 var coordsPacked = new Float32Array(coords.length * 2);625 for (i = 0, j = 0, ii = coords.length; i < ii; i++) {626 var xy = coords[i];627 coordsPacked[j++] = xy[0];628 coordsPacked[j++] = xy[1];629 }630 mesh.coords = coordsPacked;631 var colors = mesh.colors;632 var colorsPacked = new Uint8Array(colors.length * 3);633 for (i = 0, j = 0, ii = colors.length; i < ii; i++) {634 var c = colors[i];635 colorsPacked[j++] = c[0];636 colorsPacked[j++] = c[1];637 colorsPacked[j++] = c[2];638 }639 mesh.colors = colorsPacked;640 var figures = mesh.figures;641 for (i = 0, ii = figures.length; i < ii; i++) {642 var figure = figures[i], ps = figure.coords, cs = figure.colors;643 for (j = 0, jj = ps.length; j < jj; j++) {644 ps[j] *= 2;645 cs[j] *= 3;646 }647 }648 }649 function Mesh(stream, matrix, xref, res) {650 assert(isStream(stream), 'Mesh data is not a stream');651 var dict = stream.dict;652 this.matrix = matrix;653 this.shadingType = dict.get('ShadingType');654 this.type = 'Pattern';655 this.bbox = dict.get('BBox');656 var cs = dict.get('ColorSpace', 'CS');657 cs = ColorSpace.parse(cs, xref, res);658 this.cs = cs;659 this.background = dict.has('Background') ?660 cs.getRgb(dict.get('Background'), 0) : null;661 var fnObj = dict.get('Function');662 var fn = fnObj ? PDFFunction.parseArray(xref, fnObj) : null;663 this.coords = [];664 this.colors = [];665 this.figures = [];666 var decodeContext = {667 bitsPerCoordinate: dict.get('BitsPerCoordinate'),668 bitsPerComponent: dict.get('BitsPerComponent'),669 bitsPerFlag: dict.get('BitsPerFlag'),670 decode: dict.get('Decode'),671 colorFn: fn,672 colorSpace: cs,673 numComps: fn ? 1 : cs.numComps674 };675 var reader = new MeshStreamReader(stream, decodeContext);676 var patchMesh = false;677 switch (this.shadingType) {678 case PatternType.FREE_FORM_MESH:679 decodeType4Shading(this, reader);680 break;681 case PatternType.LATTICE_FORM_MESH:682 var verticesPerRow = dict.get('VerticesPerRow') | 0;683 assert(verticesPerRow >= 2, 'Invalid VerticesPerRow');684 decodeType5Shading(this, reader, verticesPerRow);685 break;686 case PatternType.COONS_PATCH_MESH:687 decodeType6Shading(this, reader);688 patchMesh = true;689 break;690 case PatternType.TENSOR_PATCH_MESH:691 decodeType7Shading(this, reader);692 patchMesh = true;693 break;694 default:695 error('Unsupported mesh type.');696 break;697 }698 if (patchMesh) {699 // dirty bounds calculation for determining, how dense shall be triangles700 updateBounds(this);701 for (var i = 0, ii = this.figures.length; i < ii; i++) {702 buildFigureFromPatch(this, i);703 }704 }705 // calculate bounds...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptoolkit = require('wptoolkit');2var fs = require('fs');3var data = fs.readFileSync('test.pdf');4wptoolkit.decodeType7Shading(data, function(err, result) {5 if (err) {6 console.log('Error: ' + err);7 } else {8 console.log('Result: ' + result);9 }10});11The MIT License (MIT)12Copyright (c) 2015-2016 Pramod Kumar

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptools = require('wptools');2var fs = require('fs');3var path = require('path');4var pdf = fs.readFileSync(path.resolve(__dirname, 'sample.pdf'));5wptools.decodeType7Shading(pdf, function(err, data){6 if(err){7 console.log(err);

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptools = require('wptools');2var fs = require('fs');3var path = require('path');4var buf = fs.readFileSync(path.join(__dirname, 'test.pdf'));5var pdf = wptools.pdf(buf);6var page = pdf.getPage(0);

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('wpt');2var fs = require('fs');3var data = fs.readFileSync('test.png');4var decodedData = wpt.decodeType7Shading(data);5var decodedImage = new Buffer(decodedData);6fs.writeFileSync('decoded.png', decodedImage);

Full Screen

Using AI Code Generation

copy

Full Screen

1var textShading = require("wptextshading");2var text = "Hello World";3var result = textShading.decodeType7Shading(text);4console.log(result);5var textShading = require("wptextshading");6var text = "Hello World";7var result = textShading.decodeType7Shading(text);8console.log(result);9var textShading = require("wptextshading");10var text = "Hello World";11var result = textShading.decodeType7Shading(text);12console.log(result);13var textShading = require("wptextshading");14var text = "Hello World";15var result = textShading.decodeType7Shading(text);16console.log(result);17var textShading = require("wptextshading");18var text = "Hello World";19var result = textShading.decodeType7Shading(text);20console.log(result);21var textShading = require("wptextshading");22var text = "Hello World";23var result = textShading.decodeType7Shading(text);24console.log(result);25var textShading = require("wptextshading");26var text = "Hello World";27var result = textShading.decodeType7Shading(text);28console.log(result);29var textShading = require("wptextshading");30var text = "Hello World";31var result = textShading.decodeType7Shading(text);32console.log(result);

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptools = require('./wptools.js');2var fs = require('fs');3var buffer = fs.readFileSync('test.pdf');4var result = wptools.decodeType7Shading(buffer, 0, buffer.length);5console.log(result);6var wptools = require('./wptools.js');7var fs = require('fs');8var buffer = fs.readFileSync('test.pdf');9var result = wptools.decodeType7Shading(buffer, 0, buffer.length);10var stream = wptools.createPDFStream(result);11fs.writeFileSync('test.pdf', stream);12var wptools = require('./wptools.js');13var fs = require('fs');14var buffer = fs.readFileSync('test.pdf');15var result = wptools.decodeType7ShadingInPDF(buffer, 0, buffer.length);16console.log(result);17var wptools = require('./wptools.js');18var fs = require('fs');19var buffer = fs.readFileSync('test.pdf');20var result = wptools.decodeType7ShadingInPDF(buffer, 0, buffer.length);

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptextdecoder = require('./wptextdecoder.js');2var fs = require('fs');3var file = fs.readFileSync('test.pdf', {encoding: 'binary'});4var shadingDict = getShadingDict(file);5var decodedShading = wptextdecoder.decodeType7Shading(shadingDict);6console.log(decodedShading);7function getShadingDict(file) {8 var xref = getXref(file);9 var catalog = getCatalog(file, xref);10 var page = getPage(file, catalog);11 var resources = getResources(file, page);12 var pattern = getPattern(file, resources);13 var shadingDict = getShadingDictFromPattern(file, pattern);14 return shadingDict;15}16function getXref(file) {17 var xref = file.substring(file.lastIndexOf('xref'));18 xref = xref.substring(xref.indexOf('xref') + 4, xref.indexOf('trailer'));19 return xref;20}21function getCatalog(file, xref) {22 var catalog = file.substring(file.lastIndexOf('Catalog'));23 catalog = catalog.substring(catalog.indexOf('Catalog') + 7, catalog.indexOf('>>') + 2);24 return catalog;25}26function getPage(file, catalog) {27 var page = file.substring(file.lastIndexOf('Page'));28 page = page.substring(page.indexOf('Page') + 4, page.indexOf('>>') + 2);29 return page;30}31function getResources(file, page) {32 var resources = page.substring(page.lastIndexOf('Resources'));33 resources = resources.substring(resources.indexOf('Resources') + 10, resources.indexOf('>>') + 2);34 return resources;35}36function getPattern(file, resources) {37 var pattern = resources.substring(resources.lastIndexOf('Pattern'));38 pattern = pattern.substring(pattern.indexOf('Pattern') + 8, pattern.indexOf('>>') + 2);39 return pattern;40}41function getShadingDictFromPattern(file, pattern) {42 var shadingDict = pattern.substring(pattern.lastIndexOf('Shading'));43 shadingDict = shadingDict.substring(shadingDict.indexOf('Shading') + 8,

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run wpt automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful