উত্তর:
আপনার সিএসএসে আপনি নীচের মত করে @ পৃষ্ঠার সম্পত্তি সেট করতে পারেন।
@media print{@page {size: landscape}}
@ পৃষ্ঠাগুলি সিএসএস ২.১ স্পেসিফিকেশনের অংশ তবে এটি @ পেজ as আকার: ল্যান্ডস্কেপ so অপ্রচলিতsize
প্রশ্নের উত্তর দ্বারা হাইলাইট করা হয়নি? :
সিএসএস 2.1 আর আকারের বৈশিষ্ট্য নির্দিষ্ট করে না। CSS3 পেজড মিডিয়া মডিউলটির জন্য বর্তমানের কার্যকরী খসড়া এটি নির্দিষ্ট করে (তবে এটি মানক বা স্বীকৃত নয়)।
বর্ণিত হিসাবে আকার বিকল্প সিএসএস 3 খসড়া স্পেসিফিকেশন থেকে আসে । তাত্ত্বিকভাবে এটি পৃষ্ঠার আকার এবং অভিযোজন উভয়কেই সেট করা যেতে পারে যদিও আমার নমুনায় আকারটি বাদ দেওয়া হয়েছে।
ফায়ারফক্সে দায়ের করা বাগের রিপোর্টের সাথে সমর্থনটি খুব মিশ্রিত হয় , বেশিরভাগ ব্রাউজারগুলি এটি সমর্থন করে না।
এটি আই 7-তে কাজ করে বলে মনে হতে পারে তবে এটি কারণ আই 7 ব্যবহারকারীদের প্রিন্ট পূর্বরূপে ল্যান্ডস্কেপ বা প্রতিকৃতির শেষ নির্বাচনটি মনে করবে (কেবলমাত্র ব্রাউজারটি আবার শুরু হয়েছে)।
এই নিবন্ধটিতে জাভাস্ক্রিপ্ট বা অ্যাক্টিভএক্স ব্যবহার করে এমন কিছু প্রস্তাবিত কাজ রয়েছে যা ব্যবহারকারীদের ব্রাউজারে কীগুলি প্রেরণ করে যদিও এটি আদর্শ না এবং ব্রাউজারগুলির সুরক্ষা সেটিংস পরিবর্তন করার উপর নির্ভর করে।
পর্যায়ক্রমে আপনি পৃষ্ঠা ওরিয়েন্টেশনের পরিবর্তে সামগ্রীটি ঘোরান। এটি একটি শৈলী তৈরি করে এবং এটি দুটি লাইন অন্তর্ভুক্ত করে শরীরে এটি প্রয়োগ করেই করা যেতে পারে তবে এটি অনেকগুলি প্রান্তিককরণ এবং বিন্যাস সংক্রান্ত সমস্যা তৈরির পিছনেও আঁকতে পারে।
<style type="text/css" media="print">
.page
{
-webkit-transform: rotate(-90deg);
-moz-transform:rotate(-90deg);
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}
</style>
আমি যে চূড়ান্ত বিকল্পটি পেয়েছি তা হ'ল পিডিএফে ল্যান্ডস্কেপ সংস্করণ তৈরি করা। আপনি ইঙ্গিত করতে পারেন যখন ব্যবহারকারী মুদ্রণ নির্বাচন করে এটি পিডিএফ প্রিন্ট করে। তবে আমি এটি আই 7 এ অটো প্রিন্টের কাজটিতে পেতে পারি না।
<link media="print" rel="Alternate" href="print.pdf">
কিছু ব্রাউজারে উপসংহারে এটি বলা যায় যে @ পৃষ্ঠার আকার বিকল্পটি ব্যবহার করা অনেকগুলি ব্রাউজারে কোনও নিশ্চিত উপায় নেই এবং এটি আপনার সামগ্রী এবং পরিবেশের উপর নির্ভর করবে। এটি হতে পারে কেন গুগল ডকুমেন্টস মুদ্রণ নির্বাচন করার পরে একটি পিডিএফ তৈরি করে এবং তারপরে ব্যবহারকারীকে সেটি খোলার ও মুদ্রণের অনুমতি দেয়।
@page size
সমস্ত ফায়ারফক্সে সমস্ত আধুনিক ব্রাউজারে কাজ করছে বলে মনে হচ্ছে না। আমি যতটা দেখেছি ক্রোম এবং অপেরা উভয়ই এটিকে উপেক্ষা করে।
size: landscape
হয় না , CSS2.1 অংশ যদিও @page
নিয়ম আছে। এটি অবশ্য CSS3 এর অংশ। নিশ্চিতকরণের জন্য, @page {size: landscape}
আমার সমাধান:
<style type="text/css" media="print">
@page {
size: landscape;
}
body {
writing-mode: tb-rl;
}
</style>
এটি কাজ করে IE
, Firefox
এবংChrome
class
পৃষ্ঠাটি পুরো পৃষ্ঠায় না হয়ে ল্যান্ডস্কেপে থাকতে চাই তবে কী হবে?
কেবলমাত্র পৃষ্ঠার সামগ্রীটি ঘোরানোর পক্ষে এটি যথেষ্ট নয়। এখানে একটি ডান সিএসএস যা সর্বাধিক ব্রাউজারগুলিতে কাজ করে (ক্রোম, ফায়ারফক্স, আই 9 +)।
প্রথমে বডিটি margin
0 তে সেট করুন , কারণ অন্যথায় পৃষ্ঠার মার্জিনগুলি প্রিন্ট কথোপকথনে আপনি সেট করেছেন তার চেয়ে বড় হবে। background
পৃষ্ঠাগুলি কল্পনা করতে রঙ সেট করুন ।
body {
margin: 0;
background: #CCCCCC;
}
margin
, border
এবং background
পৃষ্ঠাগুলি কল্পনা করা প্রয়োজন।
padding
প্রয়োজনীয় মুদ্রণ মার্জিনে সেট করা আবশ্যক। মুদ্রণ কথোপকথনে আপনাকে অবশ্যই একই মার্জিন সেট করতে হবে (এই উদাহরণে 10 মিমি)।
div.portrait, div.landscape {
margin: 10px auto;
padding: 10mm;
border: solid 1px black;
overflow: hidden;
page-break-after: always;
background: white;
}
এ 4 পৃষ্ঠার আকার 210 মিমি x 297 মিমি। আকার থেকে আপনার মুদ্রণের মার্জিন বিয়োগ করতে হবে। এবং পৃষ্ঠার সামগ্রীর আকার নির্ধারণ করুন:
div.portrait {
width: 190mm;
height: 276mm;
}
div.landscape {
width: 276mm;
height: 190mm;
}
আমি 277 মিমির পরিবর্তে 276 মিমি ব্যবহার করি কারণ বিভিন্ন ব্রাউজারগুলি পৃষ্ঠাগুলিকে কিছুটা আলাদাভাবে স্কেল করে। সুতরাং তাদের মধ্যে দুটি পৃষ্ঠায় 277 মিমি উচ্চতার সামগ্রী প্রিন্ট করবে। দ্বিতীয় পৃষ্ঠাটি খালি থাকবে। এটি 276 মিমি ব্যবহার করা আরও নিরাপদ।
আমরা কোনো প্রয়োজন হবে না margin
, border
, padding
, background
মুদ্রিত পৃষ্ঠায়, তাই তাদের সরিয়ে:
@media print {
body {
background: none;
-ms-zoom: 1.665;
}
div.portrait, div.landscape {
margin: 0;
padding: 0;
border: none;
background: none;
}
div.landscape {
transform: rotate(270deg) translate(-276mm, 0);
transform-origin: 0 0;
}
}
লক্ষ করুন যে রূপান্তরের উত্স 0 0
! এছাড়াও ল্যান্ডস্কেপ পৃষ্ঠাগুলি 276 মিমি নিচে সরানো হবে!
এছাড়াও আপনার যদি প্রতিকৃতি এবং ল্যান্সকেপ পৃষ্ঠাগুলির মিশ্রণ থাকে তবে পৃষ্ঠাগুলি জুম আউট হবে। আমরা এটি -ms-zoom
1.665 এ সেট করে ঠিক করেছি । আপনি যদি এটি ১.66666666 এ সেট করেন বা পৃষ্ঠার সামগ্রীর ডান সীমানাটি কখনও কখনও ক্রপ করা যেতে পারে।
আপনি IE8- প্রয়োজন অথবা অন্য পুরানো ব্রাউজারগুলি সমর্থন আপনি ব্যবহার করতে পারেন -webkit-transform
, -moz-transform
, filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)
। তবে আধুনিক পর্যাপ্ত ব্রাউজারগুলির জন্য এটির প্রয়োজন নেই।
এখানে একটি পরীক্ষা পৃষ্ঠা:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
...Copy all styles here...
</style>
</head>
<body>
<div class="portrait">A portrait page</div>
<div class="landscape">A landscape page</div>
</body>
</html>
সিএসএস-আলোচনা উইকি থেকে উদ্ধৃত
@ পৃষ্ঠার নিয়মটি CSS2 থেকে CSS2.1 এ বিস্তৃত হয়েছে। সম্পূর্ণ সিএসএস 2 @ পৃষ্ঠার নিয়মটি কেবল ওপেরাতে (এবং তবুও তুচ্ছভাবে) প্রয়োগ করা হয়েছিল। আমার নিজের পরীক্ষা থেকে দেখা যায় যে আইআই এবং ফায়ারফক্স কোনওভাবেই @ পৃষ্ঠাকে সমর্থন করে না। এখন-অপ্রচলিত সিএসএস 2 অনুচ্ছেদ অনুযায়ী 13.2.2 ব্যবহারকারীর অভিমুখীকরণের সেটিংসকে ওভাররাইড করা সম্ভব (উদাহরণস্বরূপ) ল্যান্ডস্কেপে জোর করে মুদ্রণ করা হলেও প্রাসঙ্গিক "আকার" সম্পত্তিটি CSS2.1 থেকে বাদ দেওয়া হয়েছে, সত্যের সাথে সামঞ্জস্য রেখে যে কোনও বর্তমান ব্রাউজার এটি সমর্থন করে না। এটি CSS3 পেজড মিডিয়া মডিউলটিতে পুনঃস্থাপন করা হয়েছে তবে নোট করুন যে এটি কেবল একটি ওয়ার্কিং ড্রাফ্ট (জুলাই ২০০৯ হিসাবে)।
উপসংহার: বর্তমানের জন্য @ পৃষ্ঠার কথা ভুলে যান আপনি যদি মনে করেন যে আপনার নথিটি ল্যান্ডস্কেপ অভিযোজনে মুদ্রিত করা দরকার, নিজেকে জিজ্ঞাসা করুন যে আপনি পরিবর্তে আপনার নকশাটিকে আরও তরল করতে পারেন কিনা। আপনি যদি সত্যিই না করতে পারেন (সম্ভবত ডকুমেন্টটিতে অনেকগুলি কলাম সহ ডেটা টেবিল রয়েছে, উদাহরণস্বরূপ), আপনাকে ল্যান্ডস্কেপটিতে ওরিয়েন্টেশন সেট করার জন্য ব্যবহারকারীকে পরামর্শ দিতে হবে এবং সম্ভবত এটি সর্বাধিক সাধারণ ব্রাউজারগুলিতে কীভাবে করা যায় সেটির বাহ্যরেখা তৈরি করতে হবে। অবশ্যই কিছু ব্রাউজারের একটি মুদ্রণ ফিট-টু-প্রস্থ (সঙ্কুচিত-থেকে-ফিট) বৈশিষ্ট্য রয়েছে (যেমন অপেরা, ফায়ারফক্স, আই 7) তবে এই সুবিধাটি রয়েছে বা এটি চালু আছে এমন ব্যবহারকারীদের উপর নির্ভর করা অনাকাঙ্ক্ষিত।
এটি আপনার সিএসএস যুক্ত করার চেষ্টা করুন:
@page {
size: landscape;
}
size
সম্পত্তি হিসাবে আপনি উল্লেখ পর কি হন। মুদ্রণের সময় আপনার পৃষ্ঠার ওরিয়েন্টেশন এবং আকার উভয়ই সেট করতে, আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন:
/* ISO Paper Size */
@page {
size: A4 landscape;
}
/* Size in mm */
@page {
size: 100mm 200mm landscape;
}
/* Size in inches */
@page {
size: 4in 6in landscape;
}
এখানে @ পৃষ্ঠার ডকুমেন্টেশনের লিঙ্ক ।
.css
ফাইলে সংরক্ষণ করতে হবে অন্যথায় যদি এটি ইনলাইন হয় তবে ডিফল্ট বুস্ট্র্যাপ ঘোষণার ( size: a3
) অগ্রাধিকার গ্রহণ করবে।
আপনি সিএসএস 2 @ পৃষ্ঠার নিয়মটি ব্যবহার করতে সক্ষম হতে পারেন যা আপনাকে 'আকার' সম্পত্তিটি ল্যান্ডস্কেপে সেট করতে দেয় ।
আপনি অ-স্ট্যান্ডার্ড আইই-কেবল সিএসএস অ্যাট্রিবিউট রাইটিং-মোডও ব্যবহার করতে পারেন
div.page {
writing-mode: tb-rl;
}
আমি ল্যান্ডস্কেপ সেটিং সহ একটি ফাঁকা এমএস ডকুমেন্ট তৈরি করেছি এবং তারপরে এটি নোটপ্যাডে খুললাম। নিম্নলিখিতটি আমার এইচটিএমএল পৃষ্ঠায় অনুলিপি করে আটকানো হয়েছে
<style type="text/css" media="print">
@page Section1
{size:11 8.5in;
margin:.5in 13.6pt 0in 13.6pt;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:4;}
div.Section1
{page:Section1;}
</style>
<div class="Section1"> put text / images / other stuff </div>
মুদ্রণ প্রাকদর্শন পৃষ্ঠাগুলি একটি ল্যান্ডস্কেপ আকারে দেখায়। এটি এফএফ-তে পরীক্ষিত নয়, আইই এবং ক্রোমে ভাল কাজ করছে বলে মনে হচ্ছে।
আমি এই সমস্যাটি একবার সমাধান করার চেষ্টা করেছি, তবে আমার সমস্ত গবেষণা আমাকে অ্যাক্টিভএক্স নিয়ন্ত্রণ / প্লাগ-ইনগুলির দিকে পরিচালিত করে। ব্রাউজারগুলি (যাইহোক 3 বছর আগে) কোনও মুদ্রণ সেটিংস (কপির সংখ্যা, কাগজের আকার) পরিবর্তন করার অনুমতি দিয়েছে এমন কোনও কৌশল নেই।
ব্যবহারকারীদের সাবধানতার সাথে সতর্ক করার জন্য আমি আমার প্রচেষ্টাগুলি রেখেছিলাম যে যখন ব্রাউজারগুলি মুদ্রণ ডায়ালগ প্রদর্শিত হয় তখন তাদের "ল্যান্ডস্কেপ" নির্বাচন করা দরকার। আমি একটি "মুদ্রণ পূর্বরূপ" পৃষ্ঠাও তৈরি করেছি, যা আইআই 6 এর চেয়ে অনেক ভাল কাজ করেছে! কিছু প্রতিবেদনে আমাদের অ্যাপ্লিকেশনটিতে ডেটাগুলির বিস্তৃত টেবিল ছিল এবং মুদ্রণ পূর্বরূপটি ব্যবহারকারীদের কাছে স্পষ্ট করে দিয়েছিল যে টেবিলটি কাগজের ডান প্রান্তটি ছড়িয়ে দেবে (যেহেতু আই 66 2 টি শিটের মুদ্রণ সহ্য করতে পারে না)।
এবং হ্যাঁ, লোকেরা এখনও এখনও আই 6 ব্যবহার করে।
<style type="text/css" media="print">
.landscape {
width: 100%;
height: 100%;
margin: 0% 0% 0% 0%; filter: progid:DXImageTransform.Microsoft.BasicImage(Rotation=1);
}
</style>
আপনি যদি এই স্টাইলটি কোনও টেবিলের জন্য প্রয়োগ করতে চান তবে এই স্টাইলের শ্রেণীর সাহায্যে একটি ডিভ ট্যাগ তৈরি করুন এবং এই ডিভ ট্যাগের মধ্যে সারণি ট্যাগ যুক্ত করুন এবং শেষে ডিভ ট্যাগটি বন্ধ করুন।
এই টেবিলটি কেবল ল্যান্ডস্কেপে মুদ্রণ করবে এবং অন্যান্য সমস্ত পৃষ্ঠা কেবল প্রতিকৃতি মোডে মুদ্রণ করবে। তবে সমস্যাটি হ'ল যদি টেবিলের আকারটি পৃষ্ঠার প্রস্থের চেয়ে বেশি হয় তবে আমরা কয়েকটি সারিটি আলগা করতে পারি এবং কখনও কখনও শিরোনামও বাদ যায়। সতর্ক হোন.
আপনার দিনটি শুভ হোক.
ধন্যবাদ, নবীন মেটাটপ্যালি।
আমি ডেনিসের উত্তরের চেষ্টা করে কিছু সমস্যা হিট করেছি (ল্যান্ডস্কেপ পৃষ্ঠাগুলি অনুসরণের পরে প্রতিকৃতি পৃষ্ঠাগুলি সঠিকভাবে প্রিন্ট করা হয়নি), তাই আমার সমাধানটি এখানে:
body {
margin: 0;
background: #CCCCCC;
}
div.page {
margin: 10px auto;
border: solid 1px black;
display: block;
page-break-after: always;
width: 209mm;
height: 296mm;
overflow: hidden;
background: white;
}
div.landscape-parent {
width: 296mm;
height: 209mm;
}
div.landscape {
width: 296mm;
height: 209mm;
}
div.content {
padding: 10mm;
}
body,
div,
td {
font-size: 13px;
font-family: Verdana;
}
@media print {
body {
background: none;
}
div.page {
width: 209mm;
height: 296mm;
}
div.landscape {
transform: rotate(270deg) translate(-296mm, 0);
transform-origin: 0 0;
}
div.portrait,
div.landscape,
div.page {
margin: 0;
padding: 0;
border: none;
background: none;
}
}
<div class="page">
<div class="content">
First page in Portrait mode
</div>
</div>
<div class="page landscape-parent">
<div class="landscape">
<div class="content">
Second page in Landscape mode (correctly shows horizontally in browser and prints rotated in printer)
</div>
</div>
</div>
<div class="page">
<div class="content">
Third page in Portrait mode
</div>
</div>
এটি আমার পক্ষেও কাজ করেছে:
@media print and (orientation:landscape) { … }