画像ファイル「kitten.png」の中に「hello_world.pdf」というファイルを隠そうとしています。私が使用しているコードは次のとおりです。
original_image_file = File.read("kitten.png")
hidden_file = File.read("hello_world.pdf")
output_file = "output.png"
separator = "*----------[#{hidden_file}]----------*"
output = [original_image_file, separator, hidden_file]
File.open(output_file,'wb') do |f_out|
output.each do |f|
f_out.puts f
end
end
「output.png」をクリックすると元の画像 (kitten.png) が表示されるはずですが、ファイル拡張子を .pdf に変更して「output.pdf」をクリックすると、「hello_world.pdf」が表示されるはずです。 。
ただし、output.png または Output.pdf をクリックすると、どちらの場合も画像または PDF を表示できないと表示されます。これがなぜ正しく機能しないのかわかりますか?
区切り文字は必要ありません。 2 つのファイルをさまざまな方法で背中合わせに追加するだけで、さまざまなビューアで機能する可能性がありますが、すべてのビューアで機能するとは限りません。したがって、ここで猫は Firefox では PDF、MS Edge では PNG ですが、ISO PDF 形式ではないため、Acrobat で動作する保証はありません。
視聴者によっては、どちらかが両方のように見える場合があります。
他の人がその理由を説明するかもしれません。
したがって、全体的に最も簡単にだまされるのは、PDF を画像に変換する画像ビューアである Firefox や PDFjs などの Web ブラウザです。