Thứ Bảy, 25 tháng 3, 2017

3 phần mềm thiết kế cơ bản nhất

3 phần mềm thiết kế cơ bản nhất

Trong quá trình các Designer thiết kế thì một phần không thể thiếu đó là các phần mềm hỗ trợ thiết kế cùng em máy tính tốt để hỗ trợ quá trình thiết kế một cách trơn chu và thuận lợi hơn. Tùy vào mục đích sử dụng của Designer mà chọn cho mình phần mềm phù hợp với chuyên môn.




1. CorelDRAW 



Đặc điêm:


- Giao diện thân thiện, đơn giản và tương đối dễ sử dụng hơn cho người mới.

- Corel cũng có một điểm đặc biệt là khả năng cắt chữ vi tính, có thể thực hiện trực tiếp từ corel, hoặc thực hiện khi xuất sang định dạng khác, khả năng nhân bản đối tượng rất nhanh, chỉnh sửa nét vẽ  của corel đơn giản và dễ thực hiện, chỉ cần click đúp vào đối tượng là lập tức corel chuyển sang chế độ chỉnh sửa.
- Việc canh chỉnh các đối tượng (Align) nhanh chóng với hệ thống các phím tắt, điều này giúp tốc độ làm việc tăng lên đáng kể vì các lệnh này sử dụng rất nhiều trong thiết kế.




Tuy nhiên một điểm yếu của Corel là màu sắc hiển thị không đẹp, và không sắc nét, đặc biệt là các hiệu ứng Gradient phức tạp. Bản nâng cấp corel mới nhất cũng đang dần khắc phục được một số nhược điểm nhưng một số nhược điểm đặc trưng của Corel thì vẫn chưa được khắc phục triệt để.



2. Adobe Illustrator 


là một phần mềm thiết kế đồ họa rất phổ biến và được áp dụng trong công nghệ thiết kế quảng cáo, tạo mẫu và thiết kế ảnh cho Web.


Adobe Illustrator có độ chính xác và tùy biến cao, dễ dàng áp dụng từ các mẫu thiết kế nhỏ cho đến các dự án lớn và phức tạp.



Có thể nói, Adobe Illustrator là một phần mềm rất mạnh mẽ, không chỉ mạnh mẽ với những chức năng thiết kế riêng biệt, mà còn được phát triển để kết hợp cực kỳ mềm dẻo với các sản phẩm khác của Adobe, như Photoshop, After Effect, Premier, Dreamweaver,…


3. Adobe Photoshop (PS) 


là phần mềm nổi tiếng nhất trong lĩnh vực xử lý ảnh phục vụ cho công việc thiết kế, đứng đầu thị trường phần mềm chỉnh sửa ảnh, và được coi là tiêu chuẩn của các nhà đồ họa chuyên nghiệp


- Thể hiện phong cách của bản thân một cách đầy đủ và sáng tạo.

- Tạo ra nhiều dự án thiết kế đồ họa riêng biệt.
- Khôi phục lại một tấm hình cũ đã bị giảm chất lượng.
- Tạo ra những tác phẩm nghệ thuật đặc sắc từ những chữ cái đơn giản.
- Chỉnh sửa lại những khuyết điểm của bức ảnh mình đã chụp.
- Thiết kế những đồ vật thường ngày theo phong cách của bản thân.
- Tạo ra những bức ảnh nghệ thuật mà bạn không thể chụp được.
- Adobe Photoshop thân thiện với người dùng, giúp bạn dễ dàng thực hiện ý tưởng của mình


Adobe Photoshop giúp designers và editors hoàn thảnh rất tốt công việc của họ. Nó chuyển hình ảnh thành kiệt tác. Tính linh hoạt của nó đã làm những tác phẩm thiết kể trở nên vô cùng phong phú Chương trình cung cấp cho bạn các tính năng hoàn hảo để tạo ra một thiết kế hoàn toàn tuyệt vời.




Xem thêm: 

>>> Dịch vụ in backdrop giá rẻ hà nội >>> Dịch vụ in decal oto giá rẻ 

Thứ Hai, 20 tháng 3, 2017

Phân loại chất liệu giấy in tờ rơi

Phân loại chất liệu giấy in tờ rơi

Có rất nhiều cách để phân loại giấy in tờ rơi. Về cơ bản có thể phân thành 2 loại là giấy nội và giấy ngoại, giấy ngoại thường đem lại chất lượng in  tốt hơn tuy nhiên giá cả sẽ chênh lên rất nhiều  so với giấy nội. Cụ thể:


– Giấy Couche (Art paper): Có bề mặt bóng, mịn, láng, in rất bắt mắt và sáng.

Thường dùng để in tờ rơi quảng cáo, in catalogue, tạp chí, in poster, in brochure …Định lượng vào khoảng 90-300g/m2. Ngoài ra còn có Couche matt bề mặt mờ, không bóng nhưng bề mặt nhẵn mịn thướng để in hình ảnh người, chân dung cho hiệu ứng cao.


–  Giấy Conqueror : Giấy Conqueror có đặc điểm chắc, bền: phù hợp với tất cả các quy trình in ấn, giúp giảm chi phí cao của công đoạn in thử. Đảm bảo tính lưu trữ bền vững của ngành truyền thông và in ấn.Đa dạng về cấu trúc, màu sắc và định lượng với nhiều kích cỡ : đáp ứng mọi nhu cầu sử dụng, làm giảm sự lãng phí trong quá trình in, tạo nên những kết quả in tốt nhất ! Được cho là loại giấy có bề mặt dạng gân đặc biệt, thông thường chỉ in hình nét, màu pha hay logo bởi loại giấy này cũng khá đắt và nên hạn chế in 4 màu để đảm bảo chất lượng thành phẩm.


–  Giấy Fort (loại giấy thường dùng để in trong văn phòng)


– Giấy Crystal: có một mặt rất lán bóng gần như có phủ lớp keo bóng vậy, mặt kia nhám, thường xài trung gian giữa giấy Bristol và giấy Couche tùy theo mục đích yêu cầu sản phẩm…


– Giấy Bristol: Giống như Couché Matte nhưng có độ cứng hơn (khi so sánh cùng định lượng).


– Ngoài ra còn có các loại giấy mỹ thuật, cán gân, dát vàng, bạc … in giấy khen, in giấy chứng nhận, thiệp cưới … các loại giấy than, giấy carton và nhiều loại khác nữa




Đặc biệt là các loại giấy cao cấp nhập ngoại. Nhóm giấy cao cấp vô cùng phong phú, được sản xuẩt từ các nhà máy giấy của Anh, Ý, Đức, Hà Lan, Úc, Đài Loan, Thái Lan...Giấy in tờ rơi cao cấp có nhiều màu sắc khác nhau, chất giấy và bề mặt cũng rất đa dạng, từ láng, nhám, gân, họa tiết...


Sự đa dạng về chất liệu và màu sắc giúp cho tờ rơi khi in trên loại giấy này gây ấn tượng với người xem chúng ngay từ lần đầu tiên tạo nên hiệu quả rất cao trong quá trình quảng bá. Tuy nhiên hoàn toàn không thể đề cập đến vấn đề in tờ rơi giá rẻ khi bạn lựa chọn loại giấy này, cần có sự so sánh giữa hiệu quả và chi phí trước khi cân nhắc lựa chọn giấy cao cấp cho in tờ rơi.


Để biết chi tiết về loại giấy in tờ rơi và giá thành hãy nhanh tay liên hệ với Quảng Cáo Việt Bắc.


Xem thêm: 

>>>  Dịch vụ chuyên in bạt hiflex giá rẻ hà nội
>>>  Chuyên in catalogue giá rẻ lấy nhanh hà nội 
>>>  Chuyên in offset giá rẻ hà nội 


Thứ Sáu, 17 tháng 3, 2017

Giới thiệu hàm Eval trong Javascript

Giới thiệu hàm Eval trong Javascript

Hàm eval() đánh giá mã JavaScript được biểu diễn dưới dạng một chuỗi.

Giới thiệu hàm Eval trong Javascript


Cú pháp: 
eval(string)
 Eval () là một thuộc tính chức năng của đối tượng toàn cục.

Đối số của hàm eval() là một chuỗi. Nếu chuỗi biểu diễn một biểu thức, eval () sẽ đánh giá biểu thức. Nếu đối số đại diện cho một hoặc nhiều lệnh JavaScript, eval () đánh giá các câu lệnh. Đừng gọi eval() để đánh giá một biểu thức số học; JavaScript đánh giá các biểu thức số học tự động.

Nếu bạn xây dựng một biểu thức số học như một chuỗi, bạn có thể sử dụng eval() để đánh giá nó sau.
Ví dụ, giả sử bạn có một biến x. Bạn có thể trì hoãn đánh giá một biểu thức liên quan đến x bằng cách gán giá trị chuỗi của biểu thức, nói "3 * x 2", cho một biến, và sau đó gọi eval () vào một điểm sau trong mã Javascript của bạn.

Nếu đối số của eval() không phải là một chuỗi, eval() trả về đối số không thay đổi. Trong ví dụ sau, cấu trúc String được chỉ định, và eval () trả về một đối tượng String thay vì đánh giá chuỗi.

eval(new String('2 + 2')); // returns a String object containing "2 + 2"
eval('2 + 2');             // returns 4
Bạn có thể làm việc xung quanh giới hạn này theo cách chung chung bằng cách sử dụng toString().

var expression = new String('2 + 2');
eval(expression.toString());
Nếu bạn sử dụng chức năng eval gián tiếp, bằng cách viện dẫn nó qua một tài liệu tham khảo khác với eval, như ECMAScript 5 hoạt động ở phạm vi chung hơn là phạm vi riêng; Điều này có nghĩa là, các khai báo chức năng tạo ra các hàm chung, và mã được đánh giá không có quyền truy cập vào các biến cục bộ trong phạm vi mà nó được gọi.


function test() {
  var x = 2, y = 4;
  console.log(eval('x + y'));  // Direct call, uses local scope, result is 6
  var geval = eval;
  console.log(geval('x + y')); // Indirect call, uses global scope, throws ReferenceError because `x` is undefined
}

Không sử dụng eval không cần thiết! 

Eval () là một chức năng nguy hiểm, nó thực hiện mã nó được truyền với các đặc quyền của người gọi. Nếu bạn chạy eval () bằng một chuỗi có thể bị ảnh hưởng bởi một bên độc hại, bạn có thể sẽ chạy mã độc hại trên máy của người dùng với quyền của trang web/tiện ích mở rộng của bạn. Quan trọng hơn, mã của bên thứ ba có thể thấy phạm vi mà trong đó eval () được triệu gọi, điều này có thể dẫn tới các cuộc tấn công có thể xảy ra theo cách mà chức năng tương tự không phải là dễ bị ảnh hưởng.

Eval () thường chậm hơn so với các phương án thay thế vì nó phải gọi trình thông dịch JS, trong khi nhiều cấu trúc khác được tối ưu hóa bởi các động cơ JS hiện đại.

Có những lựa chọn thay thế an toàn hơn (và nhanh hơn) để eval () cho các trường hợp sử dụng phổ biến.

Truy cập thuộc tính thành viên

Bạn không nên sử dụng eval () để chuyển tên thuộc tính thành thuộc tính. Hãy xem xét ví dụ sau đây mà tài sản của đối tượng được truy cập không được biết cho đến khi mã được thực hiện. Điều này có thể được thực hiện với eval:


var obj = { a: 20, b: 30 };
var propName = getPropName();  // returns "a" or "b"

eval( 'var result = obj.' + propName );
Tuy nhiên, eval () không cần thiết ở đây. Trên thực tế, việc sử dụng ở đây không được khuyến khích. Thay vào đó, sử dụng các thuộc tính accessors, nhanh hơn và an toàn hơn nhiều:


var obj = { a: 20, b: 30 };
var propName = getPropName();  // returns "a" or "b"
var result = obj[ propName ];  //  obj[ "a" ] is the same as obj.a
Bạn thậm chí có thể sử dụng phương pháp này để truy cập các thuộc tính hậu duệ. Sử dụng eval () sẽ giống như sau:

var obj = {a: {b: {c: 0}}};
var propPath = getPropPath();  // returns e.g. "a.b.c"

eval( 'var result = obj.' + propPath );
Tránh eval () ở đây có thể được thực hiện bằng cách tách đường dẫn thuộc tính và lặp lại các thuộc tính khác nhau:


function getDescendantProp(obj, desc) {
  var arr = desc.split('.');
  while (arr.length) {
    obj = obj[arr.shift()];
  }
  return obj;
}

var obj = {a: {b: {c: 0}}};
var propPath = getPropPath();  // returns e.g. "a.b.c"
var result = getDescendantProp(obj, propPath);
Thiết lập một thuộc tính tương tự như vậy:


function setDescendantProp(obj, desc, value) {
  var arr = desc.split('.');
  while (arr.length > 1) {
    obj = obj[arr.shift()];
  }
  obj[arr[0]] = value;
}

var obj = {a: {b: {c: 0}}};
var propPath = getPropPath();  // returns e.g. "a.b.c"
var result = setDescendantProp(obj, propPath, 1);  // test.a.b.c will now be 1

Sử dụng các chức năng thay vì đánh giá các đoạn mã

JavaScript có các chức năng hạng nhất, có nghĩa là bạn có thể vượt qua các hàm như các đối số cho các API khác, lưu trữ chúng trong biến và các thuộc tính của các đối tượng, v.v ... Nhiều API DOM được thiết kế với điều này trong tâm trí, do đó bạn có thể (và nên) viết:


// instead of setTimeout(" ... ", 1000) use:
setTimeout(function() { ... }, 1000); 

// instead of elt.setAttribute("onclick", "...") use:
elt.addEventListener('click', function() { ... } , false);
Closures  cũng rất hữu ích như là một cách để tạo ra các tham số mà không cần nối dây.

Phân tách cú pháp JSON (chuyển đổi các chuỗi thành các đối tượng JavaScript)


Nếu chuỗi bạn đang gọi eval () trên chứa dữ liệu (ví dụ: mảng "[1, 2, 3]"), ngược lại với mã, bạn nên xem xét chuyển sang JSON, cho phép chuỗi sử dụng Tập hợp con của cú pháp JavaScript để biểu diễn dữ liệu. Xem thêm Tải về JSON và JavaScript trong phần mở rộng.

Lưu ý rằng vì cú pháp JSON bị hạn chế so với cú pháp JavaScript, nhiều văn bản JavaScript hợp lệ sẽ không phân tích cú pháp là JSON. Ví dụ: dấu phẩy sau không được phép trong JSON và tên thuộc tính (khóa) trong các ký tự đối tượng phải được bao gồm trong dấu ngoặc kép. Đảm bảo sử dụng một trình tạo mã JSON để tạo chuỗi sau đó được phân tích cú pháp dưới dạng JSON.

Truyền dữ liệu thay vì mã


Ví dụ: tiện ích được thiết kế để cạo nội dung của các trang web có thể có các quy tắc cào được xác định trong XPath thay vì mã JavaScript.

Chạy mã với các đặc quyền giới hạn

Nếu bạn phải chạy mã, hãy xem xét chạy nó với các đặc quyền giảm. Lời khuyên này áp dụng chủ yếu cho các ứng dụng mở rộng và XUL, có thể sử dụng Components.utils.evalInSandbox cho việc này.

Ví dụ
Sử dụng eval

Trong đoạn code sau, cả hai câu lệnh chứa eval () trả về 42. Đầu tiên đánh giá chuỗi "x + y + 1"; Phần thứ hai đánh giá chuỗi "42".
var x = 2;
var y = 39;
var z = '42';
eval('x + y + 1'); // returns 42
eval(z);           // returns 42
Sử dụng eval để đánh giá một chuỗi các câu lệnh JavaScript

Ví dụ sau sử dụng eval () để đánh giá chuỗi str. Chuỗi này bao gồm các câu lệnh JavaScript mở hộp thoại cảnh báo và chỉ định z một giá trị là 42 nếu x là năm và gán 0 cho zotherwise. Khi câu lệnh thứ hai được thực hiện, eval () sẽ làm cho các câu lệnh này được thực hiện, và nó cũng sẽ đánh giá tập hợp các câu lệnh và trả về giá trị được gán cho z.
var x = 5;
var str = "if (x == 5) {console.log('z is 42'); z = 42;} else z = 0;";

console.log('z is ', eval(str));
Biểu thức cuối cùng được đánh giá
Eval () trả về giá trị của biểu thức cuối cùng được đánh giá.
var str = 'if ( a ) { 1 + 1; } else { 1 + 2; }';
var a = true;
var b = eval(str);  // returns 2
 
console.log('b is : ' + b);

a = false;
b = eval(str);  // returns 3

console.log('b is : ' + b);
Eval như là một chức năng xác định chuỗi đòi hỏi "(" and ")" như tiền tố và hậu tố



var fctStr1 = 'function a() {}'
var fctStr2 = '(function a() {})'
var fct1 = eval(fctStr1)  // return undefined
var fct2 = eval(fctStr2)  // return a function



출장안마


Thứ Hai, 13 tháng 3, 2017

Kylie Jenner- Mức theo dõi khủng 82 triệu trên Instagram

Kylie Jenner- Mức theo dõi khủng 82 triệu trên Instagram

Mức theo dõi khủng 82 triệu lượt theo dõi trên Instagram của Kylie Jenner


Kylie Jenner khoe ảnh bốc lửa trên trang cá nhân trong dịp vượt mức 82,3 triệu lượt theo dõi trên trang Instagram



Em cô Kim là 1 trong những sao hot nhất trên các trang mạng xã hội hiện nay. Cô gái 19 tuổi nổi tiếng hơn cả các chị gái của mình


Nhờ danh tiếng lan rộng, Kylie dễ dàng kiếm bộn tiền nhờ quảng bá các sản phẩm trên trang cá nhân của mình



Chưa đầy 20 tuổi, Kylie đã đạt nhiều thành công trong lĩnh vực kinh doanh thời trang, mỹ phẩm



Năm 2016 vừa qua, em cô Kim đã tậu được cho mình dinh thự triệu đô thứ 4



Kylie tương tác với fans rất thường xuyên trên trang cá nhân. Cô cũng chia sẻ những mẹo trang điểm, làm đẹp hiệu quả



Như các chị gái, Kylie dính nhiều tin đồn làm đẹp bằng dao kéo nhưng cô chỉ thừa nhận đã bơm môi mà thôi.


>>>Chuyên Nhận In Decal - In Decal Oto Giá rẻ tại Hà Nội
>>> Chuyên nhận in tờ rơi tờ gấp giá rẻ hà nội 
Tin tức thế giới-Bà Park Geun-hye bị tố chiếm dụng phủ tổng thống Hàn Quốc

Tin tức thế giới-Bà Park Geun-hye bị tố chiếm dụng phủ tổng thống Hàn Quốc

Tin tức thế giới-Bà Park Geun-hye bị tố chiếm dụng phủ tổng thống Hàn Quốc

Tại Hàn Quốc Lãnh đạo đảng đối lập đã cáo buộc bà Park Geun-hye chiếm dụng trái phép Nhà Xanh sau khi bị phế truất hôm 10/3, do Sputnik đưa tin.


Theo Sputnik, lãnh đạo đảng Lao động đối lập ở Hàn Quốc, ông Lee Gap-yong, ngày 11/3 đã lên tiếng cáo buộc Tổng thống bị phế truất Park Geun-hye chiếm dụng trái phép dinh tổng thống (hay còn gọi là Nhà Xanh) khi bà chưa rời khỏi đây sau lệnh phế truất. Quan chức này cũng đề nghị cảnh sát can thiệp để buộc bà Park phải rời Nhà Xanh.



Tòa án Hiến pháp Hàn Quốc ngày 10/3 đã ra phán quyết ủng hộ việc phế truất ngay lập tức Tổng thống Park Geun-hye với cáo buộc lạm quyền và tham nhũng. Như vậy, bà Park bị tước toàn bộ đặc quyền, đặc lợi ngay lập tức, thậm chí bà có thể đối mặt với nguy cơ bị truy tố hình sự.

Kể từ sau phán quyết, bà Park chưa đưa ra bất cứ bình luận nào và tiếp tục ở lại trong dinh tổng thống. Một phát ngôn viên của bà Park nói rằng, bà chưa thể rời Nhà Xanh vì lý do an ninh và do nhà riêng của bà ở khu Gangnam cần vài ngày để sửa chữa.

Các nhà phân tích cho rằng, bà Park cần được cho thời gian nhất định để rời Nhà Xanh, có thể là từ 2 đến 3 ngày. Trong khi đó, những người chỉ trích thì cho rằng, việc bà Park cố nán lại Nhà Xanh để tìm cách xóa chứng cớ.

Phán quyết luận tội và phế truất Tổng thống Park Geun-hye đã kéo theo những phản ứng trái chiều của cử tri Hàn Quốc. Trong khi hôm qua khoảng 50.000 người xuống đường để ăn mừng thì hàng nghìn người ủng hộ bà Park cũng tuần hành đề nghị xét lại phán quyết.

Thứ Sáu, 10 tháng 3, 2017

Chuyên Nhận In Decal - In Decal Oto Giá rẻ tại Hà Nội

Chuyên Nhận In Decal - In Decal Oto Giá rẻ tại Hà Nội

In decal tức là tem nhãn có tráng sẵn lớp keo tự dính (hoặc nói cách khác dính nhờ áp lực). Không như các loại nhãn khác nhãn có keo sẵn chỉ dính khi làm được ướt, nung nóng hay bôi keo thông. Loại keo này không cần phải làm ướt hay nung nóng  mà chỉ cần 1 áp lực nhẹ, nhãn sẽ dính vào sản phẩm.

In Việt Bắc chuyên nhận in decal giá rẻ với xưởng sản xuất trực tiếp tại 185 Hồ Tùng Mậu- Cầu Giấy- Hà Nội, máy in và mực in chất lượng cao – đảm bảo tạo ra Sản phẩm in decal với màu sắc và chất lượng tốt nhất đến với khách hàng khi đến với Quảng Cáo Việt Bắc.



Công ty in Việt Bắc chuyên nhận in bạt khổ lớ, in offset giá rẻ, in Catalogue, in card visit, in decal giá rẻ tại Hà Nội, ...

Các loại decal của chúng tôi thông thường sẽ là :

1. in decal dùng làm nhãn bao bì 

Tem nhãn xe hơi, xe máy và đồ điện tử
Tem nhãn cho thực phẩm
Tem nhãn cho thực phẩm đóng chai
Tem nhãn cho hàng tiêu dùng
Tem nhãn cho hoá chất
Tem nhãn cho dược phẩm
Tem nhãn niêm phong.
Tem nhãn bảo hành


2. In decal dùng làm nhãn chứa thông tin thay đổi


Nhãn thông tin trong công nghiệp
Nhãn cho kho vận – vận chuyển
Nhãn cho văn phòng
Nhãn cho bán lẻ


3. In decal dùng làm nhãn khuyến mãi và trang trí.

Có thể dung phương thức in decal đẹp làm những sản phẩm khuyến mại trang trí cho công ty cua mình. Vì decal nhỏ gọn tinh tế, phù hợp làm các việc trang trí thêm cho sản phẩm hay văn phòng công ty. Nhất là các loại như decal nhựa….


4. in ấn decal dùng làm poster quảng cáo

Chuyên dùng decal làm quảng cáo cho các sản phẩm của doanh nghiệp. Đa phần là mẫu in decal như chai nước hoạc các loại tem nhãn,logo dán lên sản phẩm.


5. In Decal Oto

Decal oto cũng có các khổ in giống như decal PP 914mm, 1070mm, 1270mm, 1520mm. Đến với công ty in phun Việt Bắc của chúng tôi bạn sẽ được phục vụ tốt về việc in ấn của mình, với vật liệu tốt, decal có độ bám dính cao, giúp bạn thi công dễ dàng.



Tại sao in decal lại in Việt Bắc lại rẻ?

Bên cạnh đó, công ty không ngừng tìm kiếm và hợp tác với các nhà cung cấp vật liệu bao gồm giấy in, mực in, keo…với một mức giá phù hợp nhất. Điều này đã ảnh hưởng đáng kể trong việc hạ giá thành sản phẩm xuống mức thấp nhất nhằm hổ trợ tối đa khách hàng của chúng tôi.

Vì những lí do trên, chúng tôi tự hào là nhà cung cấp sản phẩm in decal giá rẻ và chất lượng nhất cho mọi đối tượng khách hàng với Xưởng In Việt BẮc . Một số sản phẩm decal của chúng tôi :

+ In decal giấy
+ in decal trong
+ in decal nhựa
+ in tem decal


Hãy liên hệ ngay với chúng tôi theo số hotline: 0422.651.666 hoặc 0422.831.666 hoặc 01694097603, bạn sẽ được tư vấn cụ thể về giá cả và chất liệu cũng như cung cách in decal của chúng tôi .




Email        : vietbaccompany@gmail.com

Địa chỉ      : 185 Hồ Tùng Mậu, Từ Liêm, Hà nội

Xưởng in : 188, Phúc diễn, Từ liêm, Hà nội.

Web          : quangcaovietbac.com.vn