Thx for your reply, but it didnt help.
I dont think its a SP4 problem. I have the same problem with SP3 and
SP1.
It seems like Axapta cant scale the picture when inserting it into a
pdf file, but keeps the original size... (works fine with 'print 2
screen')

Any suggestions?

Regards
Allan


--- In [email protected], Palle Mølgaard <[EMAIL PROTECTED]>
wrote:
>
> That's a new feature of SP4 :-(
>

>
> Change hhe writeBitmap() method of PDFViewer to look like this,
then you're back to working bitmaps :
>

>
> public void writeBitmap(OutputBitmapField _field, OuputSection
_section)
>
> {
>
>     BinData bin = new BinData();
>
>     image img;
>
>     container data;
>
>     str s;
>
>     real x1,x2, y1,y2;
>
>     struct br;
>
>     int imageObjectNo = 0;
>
>     //real PDFPreviewScale = 0.8;       // New in SP4 - not needed
when using SP3 version
>
>     boolean generateXImage = false;
>
>     container c;
>
>     str fn;
>

>
>     br = this.boundingRectTwips(currentPage, _section, _field);
>

>
>     x1 = br.value('x1'); y1 = br.value('y1');
>
>     x2 = br.value('x2'); y2 = br.value('y2');
>

>
>     if (_field.type() == 10) // resourceId, DB_RESID
>
>     {
>
>         img = new Image(_field.resourceId());
>

>
>         if (resourceIdImageMap.exists(_field.resourceId()))
>
>             imageObjectNo = resourceIdImageMap.lookup
(_field.resourceId());
>
>         else
>
>         {
>
>             imageObjectNo = this.nextObjectNo();
>
>             resourceIdImageMap.insert(_field.resourceId(),
imageObjectNo);
>
>             generateXImage = true;
>
>         }
>

>
>         if (debugLevel >= 1)
>
>             info ('Image in resource ' + int2str(_field.resourceId
()));
>
>     }
>
>     else if (_field.type() == 7) // queue
>
>     {
>
>         c = _field.value();
>
>         if (c)
>
>         {
>
>             img = new Image(c);
>
>             imageObjectNo = this.nextObjectNo();
>
>         }
>
>         generateXIMage = true;
>

>
>         if (debugLevel >= 1)
>
>         {
>
>             if (img)
>
>                 info ('Image in container');
>
>             else
>
>                 info ('No image in container');
>
>         }
>
>     }
>
>     else // string containing filename
>
>     {
>
>         img = new Image(_field.imageFilename());
>

>
>         if (stringImageMap.exists(_field.imageFilename()))
>
>             imageObjectNo = stringImageMap.lookup
(_field.imageFilename());
>
>         else
>
>         {
>
>             imageObjectNo = this.nextObjectNo();
>
>             stringImageMap.insert(_field.imageFilename(),
imageObjectNo);
>
>             generateXImage = true;
>
>         }
>

>
>         if (debugLevel >= 1)
>
>             info ('File is ' + _field.imageFileName());
>
>     }
>

>
>     if (img)
>
>     {
>
>         if (generateXImage)
>
>         {
>
>             // We have not seen this image before, so generate an
XIMage for it
>
>             // Save the image as a jpg file.
>
>             fn = winApi::getTempFilename(winApi::getTempPath
(), 'AXP');
>

>
>             // SP4 does not work! - back to SP3 code
>
>             //RH#4382, v-yuriv, 24-11-2004
>
>             //We should resize the bitmap according to the area
given in PDF page otherwise there will be out of area drawing
>
>             //The PDF bitmap drawing has wrong scaling from what
we see in the preview so we should also scale it by PDFPreviewScale
>
>             //img.resize(min(abs(x2-x1)/PDFPreviewScale, img.width
()), min(abs(y2-y1)/PDFPreviewScale, img.height()), 4);
>

>
>             img.saveImage(fn, ImageSaveType::JPG);
>

>
>             bin.loadFile(fn);
>
>             data = ""> >

>
>             // Get rid of the temporary file.
>
>             winApi::deleteFile(fn);
>

>
>             if (bitmapEncode85)
>
>                 s = bin.ascii85Encode();
>
>             else
>
>                 s = bindata::dataToString(data);
>

>
>             // Use the image dimensions if the user didn't specify
resize
>

>
>             objectOffsetMap.insert(imageObjectNo, buffer.size());
>
>             imagesOnPage.add(imageObjectNo);
>

>
>             buffer.appendText(int2str(imageObjectNo) + ' 0 obj
<<\r');
>
>             buffer.appendText
('  /Type/XObject /Subtype/Image /ColorSpace /DeviceRGB\r');
>
>             buffer.appendText('  /Name /I' + int2str
(imageObjectNo) + ' /BitsPerComponent 8\r');
>
>             if (!bitmapEncode85)
>
>             {
>
>                 buffer.appendText('  /Filter
[/ASCIIHexDecode/DCTDecode] /DecodeParms[null<<>>]\r');
>
>                 buffer.appendText(strfmt('  /Length %1\r', strlen
(s)+1));    // Allow for end of data marker
>
>             }
>
>             else
>
>             {
>
>                 buffer.appendText('  /Filter
[/ASCII85Decode/DCTDecode] /DecodeParms[null<<>>]\r');
>
>                 buffer.appendText(strfmt('  /Length %1\r', strlen
(s)));
>
>             }
>
>             buffer.appendText(strfmt('  /Width %1 /Height %2\r',
img.width(), img.height()));
>
>             buffer.appendText('>>\rstream\r');
>
>             buffer.appendText(s);
>

>
>             if (!bitmapEncode85)
>
>                 buffer.appendText('>'); // End of Data marker
>

>
>             buffer.appendText('\rendstream\rendobj\r');
>
>         }
>

>
>         // SYP-Modification R-DEN-DDSP-KITR-04447 - Begin (SP3)
>
>         // Have to put imageObjectNo or it will be only on page #1
>
>         imagesOnPage.add(imageObjectNo);
>
>         // SYP-Modification R-DEN-DDSP-KITR-04447 - End (SP3)
>

>
>         // Generate the object that draws the image...
>
>         s  = 'q\r';
>

>
>         s += this.drawFieldFrame(_field, x1, y1, x2, y2);
>

>
>         // Provide a scaling factor bringing the image size up to
the size requested by the report
>
>         // Also, provide x,y pos)
>
>         if (_field.resize())
>
>             s += '   ' + this.real2str(x2-x1) + ' 0 0 ' +
this.real2str(y2-y1) + ' ' + this.real2str(x1) + ' ' + this.real2str
(y1) + ' cm\r';
>
>         else
>
>         {
>
>             x1 += this.twips(this.borderWidth(_field.borderWidth
(), _field.lineLeft()));
>
>             y1 += this.twips(this.borderWidth(_field.borderWidth
(), _field.lineRight()));
>
>             x2 -= this.twips(this.borderWidth(_field.borderWidth
(), _field.lineTop()));
>
>             y2 -= this.twips(this.borderWidth(_field.borderWidth
(), _field.lineBottom()));
>

>
>             if (_field.alignment() == ALIGNMENT::Center)
>
>             {
>
>                 x1 = (x1 + x2 - img.width()) / 2;
>
>                 y1 = (y1 + y2 - img.height()) / 2;
>
>             }
>
>             else if (_field.alignment() == ALIGNMENT::Right)
>
>             {
>
>                 x1 = x2 - img.width();
>
>                 y1 = y2 - img.height();
>
>             }
>
>             else    // left
>
>             {
>
>                 y1 = y2 - img.height();
>
>             }
>
>             // SP4 does not work! - back to SP3 code
>
>             //RH#4382, v-yuriv, 24-11-2004
>
>             //The PDF bitmap drawing has wrong scaling from what
we see in the preview so we should also scale it by PDFPreviewScale
>
>             //s += '   ' + this.real2str(PDFPreviewScale*img.width
()) + ' 0 0 ' + this.real2str(PDFPreviewScale*img.height()) + ' ' +
this.real2str(x1) + ' ' + this.real2str(y1) + ' cm\r';
>
>             s += '   ' + this.real2str(img.width()) + ' 0 0 ' +
this.real2str(img.height()) + ' ' + this.real2str(x1) + ' ' +
this.real2str(y1) + ' cm\r';
>
>         }
>

>
>         s += '   /I' + int2str(imageObjectNo) + ' Do\r';
>
>         s += 'Q\r';
>

>
>         pagePDF.appendText(s);
>
>     }
>
>     super(_field, _section);
>
> }
>

>
> Regards
>
>      Palle Mølgaard
>
>       Systemate A/S
>
> ________________________________
>
> From: [email protected] [mailto:development-
[EMAIL PROTECTED] On Behalf Of Allan Ørum
> Sent: 27. februar 2006 21:30
> To: [email protected]
> Subject: [development-axapta] Bitmaps in pdf files
>

>
> Hi,
> I have a problem with pdf files.
> When I print to screen (eg a confirmation), my bitmaps comes out
fine and
> scaled.
> But when I print to a pdf file, the bitmaps are placed funny, and
are no
> longer scaled.
>
> Anyone with experience in this area?
>
> Regards Allan
>
>
>
>
>
>
> SPONSORED LINKS
>
> Computer part <http://groups.yahoo.com/gads?
t=ms&k=Computer+part&w1=Computer+part&w2=Programming+languages&w3=Mic
rosoft+axapta&w4=Support+exchange&c=4&s=90&.sig=yLpvcLTIDJ5FTkRJGsO11
w> 
>
> Programming languages <http://groups.yahoo.com/gads?
t=ms&k=Programming+languages&w1=Computer+part&w2=Programming+language
s&w3=Microsoft+axapta&w4=Support+exchange&c=4&s=90&.sig=cuhEClK4dU4wa
pXFmKisbQ> 
>
> Microsoft axapta <http://groups.yahoo.com/gads?
t=ms&k=Microsoft+axapta&w1=Computer+part&w2=Programming+languages&w3=
Microsoft+axapta&w4=Support+exchange&c=4&s=90&.sig=yfeG_U6QaLfPOZZIud
02Fg> 
>
> Support exchange <http://groups.yahoo.com/gads?
t=ms&k=Support+exchange&w1=Computer+part&w2=Programming+languages&w3=
Microsoft+axapta&w4=Support+exchange&c=4&s=90&.sig=hy8yRGMzrmxdphyITT
UeqA> 
>

>

>

>
> ________________________________
>
> YAHOO! GROUPS LINKS
>

>
> *      Visit your group "development-axapta
<http://groups.yahoo.com/group/development-axapta> " on the web.
>        
> *      To unsubscribe from this group, send an email to:
>       [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]
subject=Unsubscribe>
>        
> *      Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service <http://docs.yahoo.com/info/terms/> .
>

>
> ________________________________
>
>
>
> [Non-text portions of this message have been removed]
>









SPONSORED LINKS
Computer part Programming languages Microsoft axapta
Support exchange


YAHOO! GROUPS LINKS




Reply via email to